Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi TObjectList - Speicherfreigabe "rekursiv"? (https://www.delphipraxis.net/145096-tobjectlist-speicherfreigabe-rekursiv.html)

TheMiller 23. Dez 2009 15:46


TObjectList - Speicherfreigabe "rekursiv"?
 
Hallo,

mal eine kleine Frage zur automatischen Freigabe des Speichers durch die TObjectlist. Ich habe ein Object, abgeleitet von der TObjectList (O1), ein Objekt von TObject (O2) und noch ein Objekt von der TObjectList (O3).

Nun sieht die Hierarchie folgendermaßen aus:

Code:
O1 (Kategorienliste)
 |->O2 (Spezielle Kategorie)
     |->O3 (Eintrag)
 |->02
     |->03
 |->02
     |->03
 ...
Wenn ich die Daten nun aktualisieren muss, weil ich zB eine Kategorie lösche, lese ich den Inhalt der DB neu aus und erhalte somit eine komplett neue Kategorienliste.

Also möchte ich ganz einfach die O1.Clear eingeben. Meine Frage ist jetzt, ob nun auch die O2s und O3s freigegeben werden, oder ob ich erst alle O3s, dann alle O2s und dann erst O1 freigeben muss.

Vielen Dank

s.h.a.r.k 23. Dez 2009 15:49

Re: TObjectList - Speicherfreigabe "rekursiv"?
 
Das geschieht doch automatisch. TObjectList gibt jedenfalls den Speicher der darin enthaltenen Objekte selbstständig frei. Bei TObjekt musst du halt noch im Destructor die TObjectList freigeben. Das wars.

himitsu 23. Dez 2009 15:53

Re: TObjectList - Speicherfreigabe "rekursiv"?
 
O2 muß einfach nur in seinem Destruktor O3 freigeben.

[edit]
wo kommt denn der Eintrag plötzlich her :shock:

nja, doppelt hält besser :mrgreen:

TheMiller 23. Dez 2009 16:17

Re: TObjectList - Speicherfreigabe "rekursiv"?
 
Dankesehr!


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:13 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz