Jo klar, aber du solltest wenigstens noch ein paar Hinweise zum richtigen Löschen der erstellten Speicher geben:
LinkedList-Header, LinkedList-Elemente, Strings in Elementen, ...
Vernachlässigt man solche Sachen, weil man sich denkt, die paar Bytes schaden schon nicht, und baut solch eine eigene LinkedList wirklich in ein Spiel / Anwendung, dann bekommt man schnell probleme.
Gerade dann wenn man viel mit AllocateMemory() arbeitet, deren RückgabeWert man nicht explizit speichert, sonden nur in anderen Elementen sichert, hat man selber keine direkte kontorlle mehr, wie viele Speicher wirklich erstellt wurden.
wenn dann ein ClearList() nicht richtig funktioniert, hat man schnell n menge String- und Element-Leichen im RAM ...
Da es ja hier um ein Tut geht, sollten solche in manchen augen offensichtlichen Sachen auch mit rein!
Und zwar so früh wie möglich, eh uns morgen einer im Anfänger Forum fragt wieso sein Programm abstürzt wenn er dein TUT umgesetzt hat ...
Auch sollte sowas im Tut verbessert werden:
Code: Alles auswählen
Procedure.i NewInteger(Number.i)
Protected *Memory.Integer
*Memory = AllocateMemory(SizeOf(Integer))
*Memory\I = Number
ProcedureReturn *Memory
EndProcedure
zu
Code: Alles auswählen
Procedure.i NewInteger(Number.i)
Protected *Memory.Integer
*Memory = AllocateMemory(SizeOf(Integer))
If *Memory
*Memory\I = Number
EndIf
ProcedureReturn *Memory
EndProcedure
denn man sollte nur dann in einen Speicher schreiben wenn er auch wirklich erstellt wurde.
Auch wenn viele sagen werden, wann tritt der fall schon ein das AllocateMemory fehlschlegt!