Hallo,
ich sehe gerade das:
Delphi-Quellcode:
begin
{ ... Daten holen etc. ... }
FTree.Items.Clear; // <------
for i:=0 to Length(FNodes)-1 do //Nodes plattmachen
if FNodes[i]<>nil then FNodes[i].Free;
Durch das
FTree.Items.Clear werden doch schon die TreeNodes gelöscht (Vorausgesetzt, im Array sind auch die Nodes von FTree).
Danach steht in deinem Array nur noch ein Pointer ins nichts.
Gruß
xaromz