Delphi-PRAXiS

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/)
-   -   Delphi Virtual Treeview Node gelöscht, was ist mit Childsnodes? (https://www.delphipraxis.net/132218-virtual-treeview-node-geloescht-ist-mit-childsnodes.html)

newbe 8. Apr 2009 07:07


Virtual Treeview Node gelöscht, was ist mit Childsnodes?
 
Hallo zusammen!

Ich hätte da mal eine ganz kurze Frage an die Runde. ;)

Wenn ich in einem VST eine Node lösche mit ...

Delphi-Quellcode:
DeleteNode(Node: PVirtualNode)
...wa wird dann mit seinen vorhandenen ChildNodes? Werden die dann automatisch mit freigegeben? Oder bleiben die
dann irgendwo im Speicher als Leichen liegen?

Sanfte Grüße

Newbe

jbg 8. Apr 2009 11:08

Re: Virtual Treeview Node gelöscht, was ist mit Childsnodes?
 
Zitat:

Zitat von newbe
Werden die dann automatisch mit freigegeben? Oder bleiben die
dann irgendwo im Speicher als Leichen liegen?

Die Komponente wäre schlecht programmiert, wenn sie die Child-Nodes im Speicher liegen liese. Natürlich werden diese dabei automatisch freigegeben.

generic 8. Apr 2009 12:12

Re: Virtual Treeview Node gelöscht, was ist mit Childsnodes?
 
und das kannst du ausprobieren, indem du in onFreeNode eine MsgBox platzierst.

Tyrael Y. 8. Apr 2009 13:03

Re: Virtual Treeview Node gelöscht, was ist mit Childsnodes?
 
Beachte!
Die Nodes des Trees werden automatisch freigegeben, aber nicht die Objekte, die du an diese Nodes angehängt hast. Besondere Vorsicht bei Records, dessen Pointer du an die Nodes angehängt hast. Strings in solchen Records werden nicht automatisch freigegeben.

newbe 9. Apr 2009 07:02

Re: Virtual Treeview Node gelöscht, was ist mit Childsnodes?
 
@Tyrael

Zitat:

Die Nodes des Trees werden automatisch freigegeben, aber nicht die Objekte, die du an diese Nodes angehängt hast.
Auch wenn ich im onFreeNode immer mit das Object freigebe? Ist das dann auch so? Wenn, wie hier gesagt, trotzdem
für alle Childs onFreeNode aufgerufen wird, so müssten doch auch die Objecte freigegeben werden?!

mfG Newbee

Tyrael Y. 9. Apr 2009 07:14

Re: Virtual Treeview Node gelöscht, was ist mit Childsnodes?
 
Wenn du im OnFreeNode das anghängte Objekt mit frei gibts ist alles ok.


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