Delphi-PRAXiS
Seite 1 von 2  1 2      

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 VST löscht selektierten Knoten aus dem Baum (https://www.delphipraxis.net/216668-vst-loescht-selektierten-knoten-aus-dem-baum.html)

TurboMagic 7. Feb 2025 15:30

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:
    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;
Wird der selektierte Knoten irgendwie aus dem Baum entfernt. Ist einfach weg.
Hat jemand eine Idee woran das liegen könnte?

Uwe Raabe 7. Feb 2025 15:45

AW: VST löscht selektierten Knoten aus dem Baum
 
Kannst du es an einem simplen Testprojekt nachstellen?

TurboMagic 7. Feb 2025 15:58

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.

AuronTLG 7. Feb 2025 16:07

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.

Uwe Raabe 7. Feb 2025 16:33

AW: VST löscht selektierten Knoten aus dem Baum
 
Zitat:

Zitat von TurboMagic (Beitrag 1546047)
vermutlich eher nicht (muss ich noch probieren)

Das ist aber eben auch alles, was wir hier probieren können. Wenn es damit nicht nachvollziehbar ist, dann können wir die Ursache ja gar nicht ermitteln, sondern sind auf blindes Raten angewiesen.

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.

jaenicke 7. Feb 2025 17:11

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.

TurboMagic 7. Feb 2025 20:38

AW: VST löscht selektierten Knoten aus dem Baum
 
Die Idee ist interessant. Schaue ich mir bald mal an.

TurboMagic 9. Feb 2025 11:48

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...

Gausi 9. Feb 2025 12:22

AW: VST löscht selektierten Knoten aus dem Baum
 
Wie sehen die Optionen des VST aus? Insbesondere das hier:

TreeOptions -> AutoOptions -> toAutoDeleteMovedNodes

TurboMagic 9. Feb 2025 14:41

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.
Seite 1 von 2  1 2      

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