Die PB-Hilfe sagt zum ListIndex(): "Der von diesem Befehl zurückgegebene Wert beinhaltet die Position des aktuellen Elements in der Liste. Das erste Element befindet sich dabei an Position 0, das nächste an 1 und so weiter. Ein Rückgabewert von -1 bedeutet, dass es kein aktuelles Element gibt (entweder ist die Liste leer, Sie haben sich mittels PreviousElement() oder NextElement() über den Beginn oder das Ende der Liste hinaus bewegt, oder Sie haben ResetList() benutzt). "
Mit folgendem Codeabschnitt sollte ich somit als Ergebnis die Position des Objektes in der Liste erhalten, oder -1, wenn das Objekt nicht vorhanden (NextElement über Ende hinaus).
Code: Alles auswählen
Procedure FindObject(object.l)
ResetList(obj()) ;Liste auf Anfang
While NextElement(obj()) ;Liste durchlaufen
If object = obj()\id1 ;wenn gefunden, verlassen
Break
EndIf
Wend
ProcedureReturn ListIndex(obj())
EndProcedure
Ich erhalte aber immer die Position des letzten Elementes (CountList() - 1), wenn das Objekt nicht vorhanden ist. Stimmt hier ListIndex() nicht, stimmt hier die Hilfe nicht oder muss ich das anders abfragen?
Sven