GSV Skrevet 30. august 2004 Del Skrevet 30. august 2004 Hei! Har problemer med å bruke funksjonen IsEmpty når jeg sjekker om et element i en array ikke er initialisert - får Feilmelding 'Function IsEmpty must have a variable as argument 1'. koden er slik IF IsEmpty (Variabel (i) ) Hvis elementene 0,1,2 inneholder data, betyr det at element 4 ikke er initialisert? Eller er arrayen 'i bruk' hvis et av elementene er initalisert? Noen som vet? Lenke til kommentar
aadnk Skrevet 30. august 2004 Del Skrevet 30. august 2004 For det meste bruker jeg heller følgende funksjon for å teste om en matrise er initalisert eller ikke: Private Declare Function VarPtrArray Lib "msvbvm50.dll" Alias "VarPtr" (Ptr() As Any) As Long Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long) Private Sub Form_Load() Dim aTest() As String, lAddress&, lValue& lAddress = VarPtrArray(aTest) CopyMemory lValue, ByVal lAddress, 4 If lValue = 0 Then MsgBox "Array aTest() er ikke ikke initialisert", vbCritical, "Feil" Else MsgBox "Array aTest() er initialisert", vbInformation, "Ok" End If End Sub Det at vi faktisk må benytte oss av "hacks" for å finne en god måte å teste dette på er rett og slett korttenkt og idiotisk av Microsoft. Men, i det miste skal dette være fikset i VB.NET. Lenke til kommentar
GeirGrusom Skrevet 30. august 2004 Del Skrevet 30. august 2004 IsEmpty = aTest Is Nothing Funker ikke det da? Lenke til kommentar
aadnk Skrevet 30. august 2004 Del Skrevet 30. august 2004 Ser at posten min ikke var helt forklarende, og besvarte ikke alle spørsmålene, så jeg prøver igjen: Hvis elementene 0,1,2 inneholder data, betyr det at element 4 ikke er initialisert? Ikke nødvendigvis. Dette avhenger helt og holdent av HVILKEN datatype elementet er. Normalt sett er f.eks en Long alltid initialisert, mens en String kun er det hvis den inneholder informasjon. Hvilken datatype har denne arrayen? Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå