Forum: Object-Pascal / Delphi-Language
Delphi
by IngoD7,
23. Mär 2007
... sondern du leitest jetzt wieder direkt von TComponentList ab und hast vor allen Dingen kein extra Feld FStreamObjectList mehr.
Das ist neu. Das hättest du zwischendurch mal schreiben können. :?
Dann hätte ich mir auch Tipparbeit sparen können. :wink:
Forum: Object-Pascal / Delphi-Language
Delphi
by IngoD7,
21. Mär 2007
Test? :shock:
Postest du bitte mal deinen aktuellen Destruktor TStreamlist.destroy? :wink:
Forum: Object-Pascal / Delphi-Language
Delphi
by IngoD7,
21. Mär 2007
Ja, glaube ich das denn ...? :roll:
Du hast es nicht probiert. Lies doch mal, was genau ich geschrieben habe.
Nochmal:
Du hast in deiner Klasse ein Objekt vom Typ TObjectList (FStreamObjectList). Dieses Objekt wird im Konstruktor erzeugt:
constructor TStreamlist.create;
begin;
inherited create;
FStreamObjectList:=TObjectList.Create(true);
Forum: Object-Pascal / Delphi-Language
Delphi
by IngoD7,
21. Mär 2007
Zur Erinnerung:
1.) FStreamObjectList freigeben!
2.) Mache es dir einfach:
Forum: Object-Pascal / Delphi-Language
Delphi
by IngoD7,
20. Mär 2007
Yepp - und ausserdem: TComponents geben bei ihrer eigenen Freigabe alle Components frei, deren Owner sie sind.
Forum: Object-Pascal / Delphi-Language
Delphi
by IngoD7,
20. Mär 2007
Auf die Schnelle überlegt: Eigentlich nicht.
In jedem Falle sollte dein TStreamlist-Destruktor die Liste FStreamObjectList selbst überhaupt auch mal freigeben. Diese Anforderung, gemeinsam mit der Tatsache, dass OwnsObjects TRUE ist, sollte folgendes ausreichen lassen:
destructor TStreamlist.destroy;
begin
FStreamObjectList.Free;
inherited Destroy;
end;
Ob dabei jettz noch...