Also du musst
1.) beim Item dessen Daten freigeben
2.) die Liste der nächsten Items durchgehen, sprich alle Items die auf'm selben Level liegen
3.) zu jedem dieser Items die Childrens druchgehen
Delphi-Quellcode:
procedure DoClear(Item);
begin
if Item = nil then Exit;
1.) lösche Daten vom Item
2.) lösche Children
DoClear(Item.FirstChildren);
3.) gehe paralleliegende Items durch
while Item <> nil do
begin
Item := Item.Next;
DoClear(Item);
end;
end;
Gruß Hagen