Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   nochmal Objekte freigeben (https://www.delphipraxis.net/126392-nochmal-objekte-freigeben.html)

khh 23. Dez 2008 14:25


nochmal Objekte freigeben
 
also ich habe jetz im ondestroy des form die objekte die ich im oncreate( mit NIL) erstellt habe freigegeben:
FreeAndNil(myObject) bringt ebenso ne exception wie myobject.free :-(

was mache ich falsch?

mkinzler 23. Dez 2008 14:27

Re: nochmal Objekte freigeben
 
Was macht den der Destruktor?

Christian Seehase 23. Dez 2008 14:28

Re: nochmal Objekte freigeben
 
Moin khh,

ohne konkreten Sourcecode wird sich die Ursache wohl nicht finden lassen.

khh 23. Dez 2008 14:30

Re: nochmal Objekte freigeben
 
Zitat:

Zitat von mkinzler
Was macht den der Destruktor?


ist ein normales TForm und im ondestruct habe ich nur die mit nil erzeugten objekte freigegeben.

khh 23. Dez 2008 14:35

Re: nochmal Objekte freigeben
 
Zitat:

Zitat von Christian Seehase
Moin khh,

ohne konkreten Sourcecode wird sich die Ursache wohl nicht finden lassen.


das Seltsame daran ist, dass es keine exception gibt wenn ich die objekte nicht freigebe :-(

der quellcode ist aber zu umfangreich, als dass ich ihn komplett hier posten kann.
ich will mal sehen, ob bei einem kleineren Objekt in der gleichen Konstellation der fehler auch auftritt.

Hawkeye219 23. Dez 2008 14:38

Re: nochmal Objekte freigeben
 
Hallo,

wenn es sich um eine EInvalidPointer Exception handelt, dann könnte dieser Thread helfen.

Gruß Hawkeye

mkinzler 23. Dez 2008 14:44

Re: nochmal Objekte freigeben
 
Zitat:

Zitat von khh
Zitat:

Zitat von mkinzler
Was macht den der Destruktor?


ist ein normales TForm und im ondestruct habe ich nur die mit nil erzeugten objekte freigegeben.

Ich meinte den von myObject

khh 23. Dez 2008 14:46

Re: nochmal Objekte freigeben
 
Zitat:

Zitat von mkinzler
Zitat:

Zitat von khh
Zitat:

Zitat von mkinzler
Was macht den der Destruktor?


ist ein normales TForm und im ondestruct habe ich nur die mit nil erzeugten objekte freigegeben.

Ich meinte den von myObject


das sind 3 verschiedene objecte die ihrerseits in ihren destructoren diverse objekte freigeben.

mkinzler 23. Dez 2008 14:49

Re: nochmal Objekte freigeben
 
Und ich vermute der Fehler liegt irgendwo da. Schau dir das Ganze mal im Debugger an

khh 23. Dez 2008 14:52

Re: nochmal Objekte freigeben
 
Zitat:

Zitat von mkinzler
Und ich vermute der Fehler liegt irgendwo da. Schau dir das Ganze mal im Debugger an


wird mir wohl nix anderes übrig bleiben :-(

was passiert im schlimmsten Fall wenn ich die Freigabe weglasse?

EDIT: ich habe die objecte jetzt anstatt mit NIL mit self erstellt, dann sollte das mit dem Zerstören beim destroy des elternobjectes ja funktionieren.
Oder krieg ich so bei bestimmten Konstellationen auch ne exception?

danke gruss Kh


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:56 Uhr.
Seite 1 von 2  1 2      

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