Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Array im Destructor (https://www.delphipraxis.net/98826-array-im-destructor.html)

maximus Caesar 2. Sep 2007 10:00


Array im Destructor
 
Hallo!
Hab bereits die FoSu benutzt, aber nichts passendes gefunden....
Also, ich habe mir ein Objekt geschrieben, in dem ein variables Array liegt, das mit einem anderen Objekt befüllt wird.
Auch habe ich mir den Constructor und Destructor geschrieben.
Jetzt möchte ich wissen, ob ich im Destructor auch das Array wieder lehren soll, also jeden Eintrag durchgehen und Free des Objektes aufrufen (hab ich jetzt drin) oder ob es reicht die Länge des Arrays auf 0 zu setzen (ist ja eigentlich nur ein Pointer, sollte also nicht reichen....)

Bernhard Geyer 2. Sep 2007 10:14

Re: Array im Destructor
 
Solltest du wenn die Objekte nicht andersweitig freigegeben werden.
Woher soll eine Array wissen das die Pointer Objekte sind die auch noch freigegeben werden müssen (Sie könnten ja nur eine Caching-Liste darstellen.

SirThornberry 2. Sep 2007 10:46

Re: Array im Destructor
 
Generell kann man sich merken das man alles frei geben sollte was man auch angelegt hat. Wenn du also irgnedwo ".Create(...)" aufgerufen hast sollte das entsprechende ".Free" auch vorhanden sein.

oki 2. Sep 2007 10:50

Re: Array im Destructor
 
So lange es nicht Objekte in einer ObjectList sind.

Gruß oki

maximus Caesar 2. Sep 2007 11:02

Re: Array im Destructor
 
Danke!
ObjectList
übernimmt die verwaltung doch selbst, oder?
Also z.B. auch wenn man irgendein Object mittendrinn in der Liste rausschmeist

oki 2. Sep 2007 11:20

Re: Array im Destructor
 
Joop, so lange du es nicht abschaltest.

Gruß oki


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:43 Uhr.

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