SetNode修改如下:procedure setnode( mylist: TList; prm: string; snode: TTreeNode ); var i: Integer; pp: pobj; begin pp := nil; for i := 0 to myList.Count - 1 do begin if prm = Pobj( myList[i] )^.namenode then begin pp := PObj(MyList[i[)^.snode; break end; end; if pp = nil then begin new( pp ); mylist.add( pp ); end; pp^.namenode := prm; pp^.snode := snode; end;
pp := PObj(MyList[i])^.snode;这句话通不过’TTREENODE‘ AND ’POBJ‘类型不符
var
i: Integer;
pp: pobj;
begin
pp := nil;
for i := 0 to myList.Count - 1 do
begin
if prm = Pobj( myList[i] )^.namenode then
begin
pp := PObj(MyList[i[)^.snode;
break
end;
end;
if pp = nil then
begin
new( pp );
mylist.add( pp );
end;
pp^.namenode := prm;
pp^.snode := snode;
end;