![]() |
VST löscht selektierten Knoten aus dem Baum
Hallo,
ich hab' ein komisches Problem und werde einfach nicht schlau drauß. TVirtualTreeView als Baum mit 2 Ebenen. Jetzt hab' ich eine Methode die je nach Parameter entweder den allerersten Knoten selektieren soll (Ebene 0) oder den ersten Unterknoten davon (der auf Ebene 1 ist). Nur sobald ich das hier mache:
Delphi-Quellcode:
Wird der selektierte Knoten irgendwie aus dem Baum entfernt. Ist einfach weg.
Node := vst_ProductGroups.GetFirst(false);
while Assigned(Node) do begin if MeineBedingung then // zu selektierender Knoten gefunden bedingung begin vst_ProductGroups.Selected[Node] := true; break; end; Node := vst_ProductGroups.GetNext(Node); end; Hat jemand eine Idee woran das liegen könnte? |
AW: VST löscht selektierten Knoten aus dem Baum
Kannst du es an einem simplen Testprojekt nachstellen?
|
AW: VST löscht selektierten Knoten aus dem Baum
Hallo,
vermutlich eher nicht (muss ich noch probieren), denn dieselbe Methode wird auch direkt nach dem ersten Erzeugen des Bauminhaltes aufgerufen und macht da keinen solchen Blödsinn. Der Baum hat im Fehlerfall vor dem Aufrufen dieser Methode auch wirklich den danach gelöschten Knoten drin. Es wird nach der Methode eigentlich auch nichts anderes mehr aufgerufen. |
AW: VST löscht selektierten Knoten aus dem Baum
Gibt es Ereignisse, die durch eine Selektion ausgelöst werden und dazu führen könnten? Select/Expand/Collapse-Ereignis oder sowas? Ich kenne die Komponente nicht, aber das wäre zumindest bei einer normalen Treeview mein erster Verdacht gewesen.
|
AW: VST löscht selektierten Knoten aus dem Baum
Zitat:
In vielen Fällen genügt es das Problem in einem Testprojekt nachzustellen und das damit erstmal nicht geht. Man erkennt dann nämlich sehr schnell, dass man an der falschen Stelle sucht. |
AW: VST löscht selektierten Knoten aus dem Baum
Vielleicht hilft es, wenn du OnBeforeItemErase, OnBeforeNodeFree oder OnFreeNode zuweist und darin einen Haltepunkt setzt. Wenn der Knoten regulär gelöscht wird, solltest du da landen.
|
AW: VST löscht selektierten Knoten aus dem Baum
Die Idee ist interessant. Schaue ich mir bald mal an.
|
AW: VST löscht selektierten Knoten aus dem Baum
Hallo,
zwei Erkenntnisse: 1. Das OnBeforeNodeFree Event gibt's bei mir irgendwie nicht aber die anderen beiden schon. Hab da Logging reingehängt. 2. Habe jetzt herausgefunden, dass das VST am Ende der Drag'n Drop Operation meinen Code ausführt, danach aber ein DeleteSelectedNodes des VST intern irgendwie aufruft. Keine Ahnung warum das erst nach meinem Code kommt. Jetzt erst mal Mittagspause. Mehr evtl. später... |
AW: VST löscht selektierten Knoten aus dem Baum
Wie sehen die Optionen des VST aus? Insbesondere das hier:
TreeOptions -> AutoOptions -> toAutoDeleteMovedNodes |
AW: VST löscht selektierten Knoten aus dem Baum
Du bist ein Genie! Genau das war die Ursache!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:17 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