Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Herausfinden ob free aufgerufen wurde (https://www.delphipraxis.net/104712-herausfinden-ob-free-aufgerufen-wurde.html)

MisterNiceGuy 9. Dez 2007 23:06


Herausfinden ob free aufgerufen wurde
 
Hi, ich sitz grad an einer kniffligen Dll und will ein TreeView mit TreeView.free freigeben.
Wir kann ich überprüfen ob free für das Objekt schon aufgerufen wurde?
Sollte es dann nicht nil sein? (Ist es nämlich nicht)

Vielen Dank für eure Hilfe!

Cyberbob 9. Dez 2007 23:16

Re: Herausfinden ob free aufgerufen wurde
 
Versuche statt TreeView.Free mal FreeAndNil(Treeview)

sirius 10. Dez 2007 06:56

Re: Herausfinden ob free aufgerufen wurde
 
...und dann kannst du mit assigned(Treeview) testen, ob das Objekt noch existiert. (bzw. einfach free aufrufen, denn free macht dasselbe und würde bei einem nicht-existenden Objekt einfach und ohne Exception abbrechen)

mkinzler 10. Dez 2007 06:59

Re: Herausfinden ob free aufgerufen wurde
 
.Free zerstört das Objekt setzt die Referenz aber nicht auf Nil. deshalb FreeAndNil()

Reinhard Kern 10. Dez 2007 09:29

Re: Herausfinden ob free aufgerufen wurde
 
Zitat:

Zitat von mkinzler
.Free zerstört das Objekt setzt die Referenz aber nicht auf Nil. deshalb FreeAndNil()

Man kann sich auch angewöhnen, grundsätzlich zu schreiben
Delphi-Quellcode:
MyObject.Free;
MyObject := nil;
lässt sich etwas schneller ändern.

Gruss Reinhard


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:40 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