试试看吧 if ListItem.Data = nil then begin new(PPerson); PPerson^.name := '...'; PPerson^.sex := '...'; ListItem.Data := PPerson; end; listitems.additem(listitem); despose();
我以前也对treeview 做过这样的处理 procedure TUnitForm.FormClose(Sender: TObject; var Action: TCloseAction); var i: integer; begin for i := 0 to TreeView1.items.count - 1 do begin Dispose(TreeView1.items[i].data); end; end;
if ListItem.Data = nil then
begin
new(PPerson);
PPerson^.name := '...';
PPerson^.sex := '...';
ListItem.Data := PPerson;
end;
listitems.additem(listitem);
despose();
procedure TUnitForm.FormClose(Sender: TObject; var Action: TCloseAction);
var
i: integer;
begin
for i := 0 to TreeView1.items.count - 1 do
begin
Dispose(TreeView1.items[i].data);
end;
end;