Quantcast
Channel: Visual Basic Tips and Tricks
Viewing all articles
Browse latest Browse all 2212

Errore durante la lettura dell 'UBOUND di un array da DLL .NET

$
0
0

Salve a tutti,

in verità non so se è più corretto postare questo messaggio su VB6 o VB.Net perche' prende entrambe i linguaggi.

Passo al problema.

Ho sviluppato una DLL in vb.Net la quale espone una serie di parametri ottenuti dalla serializzazione della risposta di un webservice

Tra i vari parametri restituiti ci sono degli array di tipi

Ecco un esempio


Public Class PremioType
    Property Importo As String
    Property Punti As String
   End Class

   
     Property Premi() As PremioType()

 

Se testo la dll con un sw sviluppato in .net non ho MAI problemi, se invece la provo con VB6 ho problemi quando nell' array non ci sta nulla.

ecco il codice di prova in vb.NET che funziona

  Dim premi() As PremioType
        premi = VBResult.Premi
        If Not IsNothing(premi) Then
            For x = 0 To premi.Count - 1
                MessageBox.Show(premi(x).Importo)
            Next
        End If

Ed ecco il codice VB6 che quando l' array è vuoto mi restituisce Indice non compreso nell' intervallo per l' ubound che però dall' IDE se ci passo su mi torna -1.

 

 

Dim premi() As PremioType

premi = VBResult.premi

MsgBox UBound(premi)
If UBound(premi) > -1 Then
 End If

Oltre ad essere la mia prima DLL non ho molta dimestichezza con il VB6 ma sono certo che si tratti di qualcosa di veramente semplice.

Qualche suggerimento?

 

Grazie mille

Salvo



 

 


Viewing all articles
Browse latest Browse all 2212