Domino 9 und frühere Versionen > ND8: Entwicklung
Ist Array initialisiert?
oxyd21:
klar... etwas zusammengekürzt
--- Code: ---Function CheckDocument(objError as ErrorObject) as Variant
Dim strFArray() As String
' tralala
If FieldsFilledMulti (doc, strFARRAY, objError) = False Then Exit Function
End Function ' CheckDocument
--- Ende Code ---
Hier kommt mein Fehler, auf den ich gern zukünftig die Arrays testen würde. Ich produziere den hier nur, weil ich oben zuviel auskommentiert habe.
--- Code: ---Function FieldsFilledMulti (doc As NotesDocument, strFArray As Variant, objError as ErrorObject) As Variant
' tralala
Print "Dataype: "+CStr(DataType(strFARRAY)) ' 8712
Print "Empty: "+CStr(IsEmpty(strFieldsARRAY)) ' False
Print "Scalar: "+CStr(IsScalar(strFARRAY)) ' False
Print "Array: "+CStr(IsArray(strFARRAY)) ' True
' hier kracht's
For i = LBound(strFARRAY,2) To UBound(strFARRAY,2)
'...
End Function ' FieldsFilledMulti
--- Ende Code ---
Peter Klett:
Warum ,2?
For i = LBound(strFARRAY,2) To UBound(strFARRAY,2)
oxyd21:
Weil's eigentlich ein zweidimensionales Array ist/ sein sollte.
LBound ( arrayName [ , dimension ] )
Wenn er an der Stelle nicht Error 200 (ErrUninitDynArray) werfen würde, würde ich den Fehler ja auf die fehlende Dimension schieben.
Macht für so etwas ein Ticket bei IBM Sinn?
Peter Klett:
Ich würde mir dazu im Debugger mal die tatsächliche Struktur der Variabeln ansehen, vermutlich ist es ein Array, deshalb keine Fehlermeldung vorher, aber nur ein eindimensionales.
Du könntest auch sinngemäß prüfen
If IsArray (arrayName) Then
Forall an In arrayName
If Not IsArray (an) -> Fehler
End Forall
End If
Dann hättest Du geprüft, ob in Deinem Array nur Arrays enthalten sind (zweidimensional, falls ich es nicht total falsch verstanden habe).
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln