Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Passare un Array da una DLL ad una pagina ASP

    Salve,
    Dovrei passare un array da una DLL ad una pagina ASP con il metodo ByRef:

    Dim CodFis()

    Public Function LeggiFile (ByRef CodFis() As Variant) As Integer

    Buoni = Array(UltimoRecord)

    For i = 1 To UltimoRecord

    ReDim Preserve CodFis(UltimoRecord)

    next

    End Function

    Poi lo recupero (per ora su una form):

    Dim Apri

    Apri = Object.LeggiFile(CodFis())

    For i = 1 To UltimoRecord

    cmbCodFis.AddItem (CodFis)

    Next


    UltimoRecord vale 27


    Il problema e' che non riesco a passargli l'array, e' vuoto, se gli passo valore per valore mi da solo l'ultimo ovviamente.

    Come posso fare per passargli l'intero array ?


    Grazie

    Luana
    http://www.interactiveit.info

  2. #2
    MI rispondo da sola :

    Passare un array da VB ad ASp non e' possibile, mentre passarlo da una classe di VB ad un form sempre di Vb lo e':


    Public Function LeggiFileArray(ByRef NomeFile As Variant, _
    ByRef LunRecord As Variant, _
    ByRef RecordCorrente As Variant, _
    ByRef UltimoRecord As Variant, _
    ByRef CodFisOk() As Variant, _
    ByRef CognomeOk() As Variant, _
    ByRef NomeOk() As Variant, _
    ByRef SessoOk() As Variant, _
    ByRef DataNascOk() As Variant, _
    ByRef ComuneNascOk() As Variant, _
    ByRef StatoNascOk() As Variant, _
    ByRef IndirizzoOk() As Variant, _
    ByRef ComuneIndOk() As Variant, _
    ByRef ProvinciaOk() As Variant, _
    ByRef CAPOk() As Variant) _
    As Integer

    Dim NumFile As Integer
    NumFile = FreeFile

    Dim i As Integer
    Dim Person As InfoPerson
    'Dim LunRecord As Long
    'Dim UltimoRecord As Long
    'Dim RecordCorrente As Long
    LunRecord = Len(Person)
    RecordCorrente = 1
    NomeFile = "c:\OpenText\Export2.txt"
    'NomeFile = "c:\OpenText\" & NomeFile


    UltimoRecord = Round(FileLen(NomeFile) / LunRecord)

    CodFisOk = Array(UltimoRecord)
    CognomeOk = Array(UltimoRecord)
    NomeOk = Array(UltimoRecord)
    SessoOk = Array(UltimoRecord)
    DataNascOk = Array(UltimoRecord)
    ComuneNascOk = Array(UltimoRecord)
    StatoNascOk = Array(UltimoRecord)
    IndirizzoOk = Array(UltimoRecord)
    ComuneIndOk = Array(UltimoRecord)
    ProvinciaOk = Array(UltimoRecord)
    CAPOk = Array(UltimoRecord)

    Open NomeFile For Random As NumFile Len = LunRecord

    For i = 1 To UltimoRecord

    ReDim Preserve CodFisOk(UltimoRecord)
    ReDim Preserve CognomeOk(UltimoRecord)
    ReDim Preserve NomeOk(UltimoRecord)
    ReDim Preserve SessoOk(UltimoRecord)
    ReDim Preserve DataNascOk(UltimoRecord)
    ReDim Preserve ComuneNascOk(UltimoRecord)
    ReDim Preserve StatoNascOk(UltimoRecord)
    ReDim Preserve IndirizzoOk(UltimoRecord)
    ReDim Preserve ComuneIndOk(UltimoRecord)
    ReDim Preserve ProvinciaOk(UltimoRecord)
    ReDim Preserve CAPOk(UltimoRecord)

    Get NumFile, RecordCorrente, Person

    CodFisOk(i) = Person.CodFisc
    CognomeOk(i) = Person.Cognome
    NomeOk(i) = Person.Nome
    SessoOk(i) = Person.Sesso

    If SessoOk(i) = 0 Then SessoOk(i) = "F"
    If SessoOk(i) = 1 Then SessoOk(i) = "M"

    DataNascOk(i) = Person.DataNasc
    DataNascOk(i) = Mid(DataNascOk(i), 9, 2) & "/" & Mid(DataNascOk(i), 6, 2) & "/" & Left(DataNascOk(i), 4)

    ComuneNascOk(i) = Person.ComuneNasc
    StatoNascOk(i) = Person.StatoNasc
    IndirizzoOk(i) = Person.Indirizzo
    ComuneIndOk(i) = Person.ComuneInd
    ProvinciaOk(i) = Person.Provincia
    CAPOk(i) = Person.CAP

    'If Right(CodFis, 4) <> " " Then
    'MsgBox ("Errore")
    'End If
    'MsgBox (Len(CodFis))

    RecordCorrente = RecordCorrente + 1


    Next
    RecordCorrente = RecordCorrente - 1

    'If Len(IdDipendente) > 4 Or IdDipendente = " " Then
    'MsgBox ("Errore")
    'End If
    End Function

    Private Sub CmdApri_Click()
    Dim Object As New OpenText.ImportaTestoArray
    'Dim IdDipendente As String
    'Dim File As String
    'Dim CodFis As String
    'Dim RagSoc As String
    Dim NomeFile As String
    Dim CodFisOk()
    Dim CognomeOk()
    Dim NomeOk()
    Dim SessoOk()
    Dim DataNascitaOk()
    Dim ComuneNascOk()
    Dim StatoNascOk()
    Dim IndirizzoOk()
    Dim ComuneIndOk()
    Dim ProvinciaOk()
    Dim CAPOk()

    Dim Apri

    NomeFile = txtNomeFile.Text

    Apri = Object.LeggiFileArray(NomeFile, _
    LunRecord, _
    RecordCorrente, _
    UltimoRecord, _
    CodFisOk(), _
    CognomeOk(), _
    NomeOk(), _
    SessoOk(), _
    DataNascitaOk(), _
    ComuneNascOk(), _
    StatoNascOk(), _
    IndirizzoOk(), _
    ComuneIndOk(), _
    ProvinciaOk(), _
    CAPOk())



    For i = 1 To UltimoRecord
    cmbCodFis.AddItem (CodFisOk(i))
    cmbCognome.AddItem (CognomeOk(i))
    cmbNome.AddItem (NomeOk(i))
    cmbSesso.AddItem (SessoOk(i))
    cmbDataNasc.AddItem (DataNascitaOk(i))
    cmbComuneNasc.AddItem (ComuneNascOk(i))
    cmbStatoNasc.AddItem (StatoNascOk(i))
    cmbIndirizzo.AddItem (IndirizzoOk(i))
    cmbComuneInd.AddItem (ComuneIndOk(i))
    cmbProvincia.AddItem (ProvinciaOk(i))
    cmbCAP.AddItem (CAPOk(i))
    Next



    lblLunghezza.Caption = "Lunghezza Record " & LunRecord
    lblUltimo.Caption = "Ultimo Record " & UltimoRecord
    lblRecordCorrente.Caption = "Record " & RecordCorrente & " di " & UltimoRecord
    End Sub

    Private Sub cmdExit_Click()
    End
    End Sub


    Ho postato tutto il codice, se non dovesse essere chiaro sono a disposizione

    Luana
    http://www.interactiveit.info

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.