AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

VirtualTreeView - Knoten abarbeiten

Ein Thema von oghma · begonnen am 22. Aug 2007 · letzter Beitrag vom 22. Aug 2007
Antwort Antwort
oghma

Registriert seit: 8. Aug 2007
Ort: Wien
15 Beiträge
 
Delphi 2007 Professional
 
#1

VirtualTreeView - Knoten abarbeiten

  Alt 22. Aug 2007, 15:50
Hallo!

Nachdem ich dank der Hilfe dieses Forums (http://www.delphipraxis.net/viewtopi...=765269#765269) einen Treeview gefüllt habe, würde ich ihn jetzt gern abarbeiten. Sollte ja recht einfach gehen mit getFirst, getFirstChild und getNext.

Jetzt hab ich
Delphi-Quellcode:
var
  node : PVirtualNode;
  Data: PTreeData;
begin
  node := vst.getfirst;
  data := vst.getnodedata(node);
und hier bleibt er schon hängen, weil "OleVariant" und "Pointer" inkompatibel sind.

In meiner AddVSTStructure-Funktion klappt das aber:
Delphi-Quellcode:
function TfUebersicht.AddVSTStructure(AVST: TCustomVirtualStringTree; ANode: PVirtualNode;
  ARecord: TTreeData): PVirtualNode;
var
  Data: PTreeData;
begin
  Result:=AVST.AddChild(ANode);
  Data:=AVST.GetNodeData(Result);
getFirst und AddChild liefern doch beide PVirtualNodes zurück.
Data ist in beiden Funktionen von Typ PTreeData (=^TTreeData).

Warum gehts in dem einen Fall und in dem anderen nicht?

Danke,
Oghma
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#2

Re: VirtualTreeView - Knoten abarbeiten

  Alt 22. Aug 2007, 15:54
Und wenn Du auf Pointer castest?
Delphi-Quellcode:
var
  node : PVirtualNode;
  Data: PTreeData;
begin
  node := vst.getfirst;
  data := PTreeData(vst.getnodedata(node));
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
oghma

Registriert seit: 8. Aug 2007
Ort: Wien
15 Beiträge
 
Delphi 2007 Professional
 
#3

Re: VirtualTreeView - Knoten abarbeiten

  Alt 22. Aug 2007, 15:56
Hallo!

Das hab ich auch schon versucht. Funktioniert leider auch nicht.

Danke trotzdem,
Oghma
  Mit Zitat antworten Zitat
christian_u

Registriert seit: 13. Nov 2006
126 Beiträge
 
#4

Re: VirtualTreeView - Knoten abarbeiten

  Alt 22. Aug 2007, 16:10
ich seh da nirgends nen OleVariant GetNodeData gibt nen Pointer zurück !
Hast du villeicht irgendwo vst als Olevariant deklariert ?
  Mit Zitat antworten Zitat
oghma

Registriert seit: 8. Aug 2007
Ort: Wien
15 Beiträge
 
Delphi 2007 Professional
 
#5

Re: VirtualTreeView - Knoten abarbeiten

  Alt 22. Aug 2007, 20:56
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
  Mit Zitat antworten Zitat
christian_u

Registriert seit: 13. Nov 2006
126 Beiträge
 
#6

Re: VirtualTreeView - Knoten abarbeiten

  Alt 22. Aug 2007, 21:27
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.
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#7

Re: VirtualTreeView - Knoten abarbeiten

  Alt 22. Aug 2007, 21:48
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
  Mit Zitat antworten Zitat
oghma

Registriert seit: 8. Aug 2007
Ort: Wien
15 Beiträge
 
Delphi 2007 Professional
 
#8

Re: VirtualTreeView - Knoten abarbeiten

  Alt 22. Aug 2007, 21:58
Zitat von Hawkeye219:
also wird die Variable Data (wahrscheinlich aufgrund einer Namensüberdeckung) den falschen Datentyp besitzen.
Und wieder mal liegst du hier richtig! Sollte Delphi in so einem Fall nicht zumindest eine Warnung ausgeben, dass data nicht eindeutig ist?

Danke!

Oghma
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz