Thema: Delphi GetNext implementieren

Einzelnen Beitrag anzeigen

Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#1

GetNext implementieren

  Alt 8. Okt 2006, 23:25
Hi,

ich bin dabei eine Hintergrund-Klasse für meinen DFMeditor zu schreiben, nur leider habe ich bisschen Probleme mit der recursiven getNext-funktion...

Da der komplette Code bisschen viel ist, hab ich den mal hier http://coder.cycnus.de/entry.php?id=963 geposted.

TCompInfo stellt eine Komponente dar, hat 2 Listen (sub-Komponenten und Eigenschaften) und so entsteht ein Baum. Diesen will ich zur Anzeige rekursiv durchlaufen, um diese Struktur in einem Treeview darzustellen:

Delphi-Quellcode:
var Comp:TCompInfo;
    Prop:TPropInfo;
    tn:TTreenode;
    i:integer;
begin
  comp:=rootcomp;
  tn:=nil;
  while assigned(comp) do
  begin
    tn:=treeview1.items.Add(tn,comp.name+':'+comp.TypeName);
    for i:=0 to comp.Properties.Count-1 do
    begin
      prop:=comp.Properties.GetItem(i);
      Treeview1.Items.AddChild(tn,prop.Name+' = '+prop.Value);
    end;
    comp:=comp.GetNext;
  end;
end;

ich habe festgestellt das das "result:=FParent.GetNext;" falsch ist, da dort dann wieder mit item 0 angefangen wird (result:=FComponents.GetItem(0)) und somit eine Endlosschleife erzeugt wird. Wie könnte ich das lösen?

Gruß Frank
  Mit Zitat antworten Zitat