Hallo,
in Listen sucht man Elemente mittes Übergabe eines Listtags. Ich versuche gerade, zu prüfen, ob eine Liste überhaupt Werte enthält, tappe aber entweder gerade blind durch die Designer-Hilfe oder es gibt da nix ??? Folgendes Beispiel
Sub Click(Source As Button)
Dim oWS As New NotesUIWorkspace
Dim oList List As NotesDocument
Dim iCount As Integer
iCount = 0
Forall oElement In oList
iCount = iCount + 1
End Forall
Msgbox "Vor Elementzuweisung" & Chr(13) & "islist: " & Cstr(Islist(oList)) & Chr(13) & _
"isarray: " & Cstr(Isarray(oList)) & Chr(13) & "isempty: " & Cstr(Isempty(oList)) & Chr(13) & _
"iCount: " & Cstr(iCount)
Set oList("Muff1") = oWS.CurrentDocument.Document
iCount = 0
Forall oElement In oList
iCount = iCount + 1
End Forall
Msgbox "Vor Elementzuweisung" & Chr(13) & "islist: " & Cstr(Islist(oList)) & Chr(13) & _
"isarray: " & Cstr(Isarray(oList)) & Chr(13) & "isempty: " & Cstr(Isempty(oList)) & Chr(13) & _
"iCount: " & Cstr(iCount)
End Sub
liefert mir sowohl vor, als auch nach Elementzuweisung die Ergebnisse
IsList = True
IsArray = False
IsEmpty = False
Lediglich über Forall mit dem Zähler bekomme ich verwertbare Ergebnisse, fände ich aber unglücklich (iCount vor Wertzuweisung = 0, nach Zuweisung iCount = 1).
Was habe ich übersehen? DANKE!
So ist das aber leider... Deshalb hat sich eigentlich jeder, der mit sowas arbeitet, eine eigene Function ListIsEmpty( list ) gebaut, mit verschieden hoher Komplexität.
Meine Variante sieht so aus:
Function ListIsEmpty( lList As Variant ) As Boolean
'- FUNCTION ERROR HANDLING >>>>>>>>>>>>>>>>>>
On Error GoTo ErrRepeater
'- <<<<<<<<<<<<<<<<<< ENDE ERROR HANDLING
Dim blnIsEmpty As Boolean
blnIsEmpty = True
ForAll varEntry In lList
blnIsEmpty = False
Exit Forall
End ForAll
ListIsEmpty = blnIsEmpty
'- FUNCTION ERROR HANDLING >>>>>>>>>>>>>>>>>>
Exit Function
ErrRepeater:
Error Err, Error & "~" & GetThreadInfo(1) & {:} & Erl
End Function