Hallo sakura,
Zitat von
sakura:
Im OnFree musst Du die strings Deines Records auf nil (bei Strings '') setzen.
Das ist eigentlich die Aufgabe von
Finalize:
Zitat von
Delphi-Hilfe zu Finalize:
[...]Finalize setzt einfach alle langen Strings auf einen leeren Wert und alle Varianten und Schnittstellen auf Unassigned und sorgt somit für die ordnungsgemäße Freigabe des betreffenden Speichers.[...]
Ich vermute eher, dass das OnFreeNode-Ereignis nicht für alle Baumknoten ausgelöst wird, weil einige Knoten niemals angezeigt wurden. In diesem Fall hilft die oben erwähnte Methode
InvalidateNode, die unter anderem den Knoten als "initialisiert" markiert und somit dafür sorgt, dass für den betreffenden Knoten ein OnFreeNode-Ereignis ausgelöst wird.
Gruß Hawkeye