Entwickler-Ecke
Algorithmen, Optimierung und Assembler - Treeview erstellen
MJ87 - Di 14.02.06 16:01
Titel: Treeview erstellen
Hallo,
ich will eine Treeview erstellen. In meinem Programm werden zuerst die einzelnen Wert in einen Binärensuchbaum eingeben und dann will ich den Baum in einer Treeview darstellen. Der Code sieht so aus:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
| type tpointer=^tzeiger; Tzeiger=record wert:integer; L_Next:Tpointer; R_next:Tpointer; end;
Procedure TForm1.trv2_Tiefensuche(Knoten:tpointer; vorheriger:TTreeNode); Var node : TTreenode; begin If (Knoten = NIL) then exit; If (vorheriger = NIL) then begin node := treeview1.Items.getfirstnode; end else begin node := treeview1.Items.AddChild(vorheriger,IntToStr(Knoten^.wert)); end; trv2_Tiefensuche(Knoten^.L_next,node); trv2_Tiefensuche(Knoten^.R_next,node); end; |
Delphi sagt mir immer, dass es eine Zugriffsverletzung gibt.
Kann mir jemand helfen und sagen wo das Problem liegt.
Danke!!!
Gruß MJ87
mkinzler - Di 14.02.06 16:05
Hat der TreeView beim ersten Aufruf schon eine Node?
Delphi-Quelltext
1:
| node := treeview1.Items.getfirstnode; |
Moderiert von
Christian S.: Quote- durch Delphi-Tags ersetzt
MJ87 - Di 14.02.06 16:22
Nein die Treeview hat noch keine node, aber durch diese Befehl:
Zitat: |
node := treeview1.Items.getfirstnode; |
Soll die node erzeugt werden.
mkinzler - Di 14.02.06 16:24
Wie sieht die Funktion aus?
MJ87 - Di 14.02.06 16:27
getfirstnode ist eine in Delphi festgelegt Funktion.
mkinzler - Di 14.02.06 16:30
Die Methode von Delphi heißt getFirstChild() und erzeugt keine Node sonderrn gibt nil zurück
MJ87 - Di 14.02.06 17:16
Hier eine kopie aus der Delphi-Hilfe
Zitat: |
Die Methode GetFirstNode gibt den ersten Knoten eines Baumdiagramms zurück.
function GetFirstNode: TTreeNode;
Beschreibung
Mit der Methode GetFirstNode kann der erste Knoten des Baumdiagramms abgerufen werden. |
Aber kannst du mir denn sagen was ich bei mir ändern muss damit es funktioniert.
mkinzler - Di 14.02.06 17:38
Die Methode war mir neu, mir ist nur nicht klar, was passiert wenn es keinen ersten Eintrag gibt
[quote}Mit GetFirstNode kann der erste Knoten des Baumdiagramms abgerufen werden. GetFirstNode gibt den Wert von Item[0] frei.[/quote] Echt schlechte Übersetzung.
{quote]Aber kannst du mir denn sagen was ich bei mir ändern muss damit es funktioniert.[/quote]
Du kannst dich selber um die Erzeugung des Knotens kümmern.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!