jupp, und in der hilfe steht:
Die Hilfe hat geschrieben:
Structure Element
*Next.Element ; Zeiger auf das nächste Element in der Liste oder Null, wenn es das letzte Element ist
*Previous.Element ; Zeiger auf das vorherige Element in der Liste oder Null, wenn es das erste Element ist
; Die Datentypen des Anwenders, mit denen die Liste erstellt wurde, folgen nach diesen
; zwei Variablen (was bedeutet, das die Anwenderdaten wie folgt gefunden werden können:
; Adresse des neuen Elements + 8
EndStructure
wobei @liste() den pointer zum anfang der datensektion ausgibt, also -8 zum anfang des 4 byte langen pointers zum nächsten element führt oder den wert 0 hat wenn es das letzte element ist.
weiter als zu einem code der abstürzt bin ich aber nicht gekommen:
Code: Alles auswählen
NewList List.s()
For i = 1 To 100
AddElement(List())
List() = "Eintrag " + Str(i)
Next i
Procedure CountPointedList(*List.LONG)
*List - 8
While *List\l
CountedElements + 1
*List = *List\l - 8
Wend
ProcedureReturn CountedElements
EndProcedure
Debug "CountedElements: " + Str(CountPointedList(@List()))
;Debug CountList(List())
vielleicht kann ja deeem mal was dazu sagen. er hat sich damit ja schon intensiv auseinandergesetzt. allerdings will ich das ganze ohne vorher strukturen definieren zu müssen.
ansonsten schreib ichs halt auf eine lösung ohne liste um.