![]() |
Tvirtualtreeview und DeleteChildren(Node);
Hallo,
ich setze das VirtualTreeview ein und möchte hier manuell Knoten (inclusive Child) löschen. Das erfolgt mit VST.DeleteChildren(Node). nun muss ich aber die als Zeiger verlinkten Daten mit freigeben. Dazu habe ich einen Eventhandler der über "onBeforeItemErase" der das tun soll. Mein Problem ist jetzt, das VST bei jedem notwendigen Neuzeichnen des Baumes die Knoten löscht und damit onBeforeItemErase aufruft. Wie kann ich erkennen, ob das Löschen über die Delete Funktion aufgerufen wurde: Beim Borland Treeview funktionierte das. Bei VST werden die Sätze offensichtlich erst markiert und dann später timergesteuert gelöscht. Damit funktioniert die Sequenz nicht: isDeletemode := true; VST.DeleteChildren(Node); isDeletemode := false; Hat wer eine Idee? Mit Gruß hanspeter |
Re: Tvirtualtreeview und DeleteChildren(Node);
Hallo hanspeter,
du hast das falsche Ereignis erwischt! Versuche einmal, die Daten in der Behandlungsroutine für das Ereignis OnFreeNode freizugeben. Das Ereignis OnBeforeItemErase wird ausschließlich für die Darstellung benötigt. Gruß Hawkeye |
Re: Tvirtualtreeview und DeleteChildren(Node);
Zitat:
Danke jetzt geht es. Der eigentliche Löschvorgang muß auch über ein Flag gekapselt werden, da die Funktion im laufenden Betrieb mehrfach aufgerufen wird. Gruß Peter |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:52 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 by Thomas Breitkreuz