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