Forum: Object-Pascal / Delphi-Language
by haentschman,
26. Jan 2017
Hallöle...:P
Das OwnObjects ist der einzige Unterschied...aber der macht das. :thumb: Im Anhang ein Projekt wo die Speicherlecks angezeigt werden...einmal TList und einmal TObjectList (siehe Quelltext anzeigen)
...dazu gibt es nichts mehr zu sagen. :wink:
Das Notify ist dafür da, das die "Logik" über Änderungen an der Liste informiert wird um weitere Aktionen auszulösen. Dazu gehört...
Forum: Object-Pascal / Delphi-Language
by haentschman,
26. Jan 2017
Hallöle...8-)
procedure TMyList.Notify(const Ptr: TMyclass; Action: TCollectionNotification); // Überschreiben nicht virtual
begin
if (FFreeOnDelete) and (Ptr<>nil) and (Action = cnRemoved) then
Ptr.Free; // Ungültige Zeigeroperation
inherited Notify(Ptr, Action);
end;
..du gibst immer noch den Pointer frei der in der Gesamtliste beibehalten werden soll. Die Liste muß dich über...
Forum: Object-Pascal / Delphi-Language
by haentschman,
26. Jan 2017
...nö. :zwinker: Es ging auch darum die Unterschiede von TObjectList und TList gegenüberzustellen...
Forum: Object-Pascal / Delphi-Language
by haentschman,
26. Jan 2017
Moin...:P
Du macht es dir schwerer als es in Wirklichkeit ist. :zwinker: Bei deinen 2 Listen gibt es einiges zu beachten.
1. Eine Masterlist die die Werte hällt und die Werte freigibt. (TObjectList)
2. Die Liste mit den kopierten Werten hällt. (TList) Diese Liste hällt nur die Pointer der Values aus der Masterliste.
3. Die Einträge können direkt mit TList.Delete aus der Liste entfernt werden....