![]() |
AW: TVirtualStringTree AddChild access violation
Delphi-Quellcode:
natürlich muss hier TTreeData rein. Sorry ich hatte rumgespielt mit diesem Punkt, um zu schauen, ob es daran liegt und es dann falsch zurück verbessert.
TreeView2.NodeDataSize := SizeOf(PTreeData);
Und dank des Tipps hier, habe ich herausgefunden woran es lag. Die Zeile
Delphi-Quellcode:
habe ich noch vor das Beginupdate des Treeviews gesetzt und dann lief es. :)
TreeView2.NodeDataSize := SizeOf(TTreeData);
Und jetzt macht auch alles Sinn. Es ist abgeschmiert, als ich zum Parent zurückgekommen bin. Der hatte seine Daten verloren. Ich finde es immer noch etwas seltsam, dass der Parent in der ersten Iteration funktioniert hat, dann aber später, als er von tieferen Rekursionen zurück zur obersten gekommen ist, nicht mehr. Es erklärt auch, warum der Node assigned war, nur eben die Daten nicht. Dennoch denke ich mir, eigentlich müsste er doch dann beim Zugriff auf die Daten und nicht beim addchildnode abschmieren. Weil der ursprüngliche Speicherplatz des Nodes doch mindestens ausreichen müsste, damit der Node selbst erkannt wird. Aber ich kenne mich mit Pointern nicht genug aus. Trotzdem vielen Dank! |
AW: TVirtualStringTree AddChild access violation
Delphi-Quellcode:
Das solltest du nach der Formular-Erzeugung einmalig machen.
TreeView2.NodeDataSize := SizeOf(TTreeData);
z.B. im Form.OnCreate Am besten bevor du irgend etwas anderes im Baum anstellst. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:49 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-2025 by Thomas Breitkreuz