Zitat von
r2c2:
Zitat von
Robert_G:
TList selbst ist ja auch nur ein Array, nur halt in einer verwendbaren Kapselung...
Wirklich? Ich dachte immer n List funktioniert über Pointer: Jedes Item hat n Pointer auf das vorherige und das nächste...
TList ist KEINE linked List!
@Topic
Das geht so:
TObjectList.Remove(DeinObject);
Damit wird es auch automatisch freigegeben, solange OwnsObjects True ist. (In meinem BeispielCode ist es True.
)
Falls du nur über Index darauf zugreifst könnte man sich eine Ankürzung machen und das hier noch hinzufügen:
Delphi-Quellcode:
TFeldDingslist = class(TObjectList)
...
public
...
procedure Remove(aIndex: Integer); virtual;
...
implementation
...
procedure Remove(aIndex: Integer);
begin
Remove(Items[aIndex]);
end;