[quote="Reinhard KernIch würde die Liste von vorne durchlaufen und immer zuerst Next zwischenspeichern, bevor das aktuelle Element freigegeben wird.
[/quote]
Vorschlag:
Delphi-Quellcode:
destructor TMyObjectList.Destroy; override;
var CurrentObject,NextObject : TMyObject;
begin
CurrentObject := FirstObject; { wie auch immer }
if Assigned (CurrentObject) then { könnte ja leer sein }
repeat
NextObject := CurrentObject.Next;
CurrentObject.Destroy;
CurrentObject := NextObject;
until not Assigned (CurrentObject;
inherited Destroy;
end;
Gruss Reinhard