![]() |
VirtualTreeView - Knoten abarbeiten
Hallo!
Nachdem ich dank der Hilfe dieses Forums ( ![]() Jetzt hab ich
Delphi-Quellcode:
und hier bleibt er schon hängen, weil "OleVariant" und "Pointer" inkompatibel sind.
var
node : PVirtualNode; Data: PTreeData; begin node := vst.getfirst; data := vst.getnodedata(node); In meiner AddVSTStructure-Funktion klappt das aber:
Delphi-Quellcode:
getFirst und AddChild liefern doch beide PVirtualNodes zurück.
function TfUebersicht.AddVSTStructure(AVST: TCustomVirtualStringTree; ANode: PVirtualNode;
ARecord: TTreeData): PVirtualNode; var Data: PTreeData; begin Result:=AVST.AddChild(ANode); Data:=AVST.GetNodeData(Result); Data ist in beiden Funktionen von Typ PTreeData (=^TTreeData). Warum gehts in dem einen Fall und in dem anderen nicht? Danke, Oghma |
Re: VirtualTreeView - Knoten abarbeiten
Und wenn Du auf Pointer castest?
Delphi-Quellcode:
var
node : PVirtualNode; Data: PTreeData; begin node := vst.getfirst; data := PTreeData(vst.getnodedata(node)); |
Re: VirtualTreeView - Knoten abarbeiten
Hallo!
Das hab ich auch schon versucht. Funktioniert leider auch nicht. Danke trotzdem, Oghma |
Re: VirtualTreeView - Knoten abarbeiten
ich seh da nirgends nen OleVariant GetNodeData gibt nen Pointer zurück !
Hast du villeicht irgendwo vst als Olevariant deklariert ? |
Re: VirtualTreeView - Knoten abarbeiten
Hallo!
Nein, VST ist ein TVirtualStringTree. In der anderen Funktion klappt es ja (Nur mit AddChild statt getFirst, aber die sollten ja beide ein PVirtualTree zurück liefern). Oghma |
Re: VirtualTreeView - Knoten abarbeiten
Tun sie auch ich nehme trotsdem nie getfirst, weiss ausm hut gar nicht genau was das tut, kannst es ja mal mit RootNode^.FirstChild probieren das sollte auch die erste Node im Baum zurückgeben.
|
Re: VirtualTreeView - Knoten abarbeiten
Hallo oghma,
der Fehler steckt in der zweiten Anweisungszeile, sonst hättest du eine andere Fehlermeldnug erhalten. Die Methode GetNodeData liefert einen typenlosen Pointer, also wird die Variable Data (wahrscheinlich aufgrund einer Namensüberdeckung) den falschen Datentyp besitzen. Wenn du den Mauszeiger über den Bezeichner PTreeData führst, sollte ein Hint-Fenster erscheinen, in dem der Ort der Definition angegeben wird. Vielleicht bringt das weitere Informationen zur Fehlersuche. Gruß Hawkeye |
Re: VirtualTreeView - Knoten abarbeiten
Zitat:
Danke! Oghma |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:47 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