Wiki der Access Code Library

Gemeinsam zu mehr Effizienz in der Anwendungserstellung

Prüfen ob Array initialisiert ist

Aus Access Code Library
Version vom 15:31, 21. Jan. 2011 bei Josef Pötzl (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche


Mit IsArray(..) kann man zwar prüfen, ob eine Variable ein Array beinhaltet, man kann aber nicht prüfen, ob ein dynamisches Array dimensioniert/initialisiert ist.

Private Function IsInitializedLongArray(ByRef ArrayToCheck() As Long)
   IsInitializedLongArray = Not ((0 / 1) + (Not Not ArrayToCheck) = 0)
End Function
 
Private Function IsInitializedStringArray(ByRef ArrayToCheck() As String)
   IsInitializedStringArray = Not ((0 / 1) + (Not Not ArrayToCheck) = 0)
End Function
 
...

Anwendung

Dim TestArray() As Long
 
Debug.Print "IsArray(TestArray) = "; IsArray(TestArray),
If IsInitializedLongArray(TestArray) Then
   Debug.Print "Array ist initialisiert", "UBound(TestArray) = "; UBound(TestArray)
Else
   Debug.Print "Array ist nicht initialisiert"
End If
Dim TestArray() As Long
 
ReDim TestArray(3)
 
Debug.Print "IsArray(TestArray) = "; IsArray(TestArray),
If IsInitializedLongArray(TestArray) Then
   Debug.Print "Array ist initialisiert", "UBound(TestArray) = "; UBound(TestArray)
Else
   Debug.Print "Array ist nicht initialisiert"
End If