Z
zbird
Unregistered / Unconfirmed
GUEST, unregistred user!
问一个比较菜的问题,关于副本的建立。
在对TListView编程时,
有如下代码。
procedure TForm1.Button2Click(Sender: TObject);
var
listitems:tlistitems;
begin
listitems:=ListView1.Items;
ListView1.Clear;
ListView1.Items:=Listitems;
end;
代码的本意是将ListView1.Items保存在listitems中,在清空后恢复。
可是我们可以看到ListView1没有被恢复。
原因是没有为listitems建立副本。
他们都指向了同一个地址。
对他们两者的操作都会改变对方。
我到底要怎样做才能为他建立副本呢?
在对TListView编程时,
有如下代码。
procedure TForm1.Button2Click(Sender: TObject);
var
listitems:tlistitems;
begin
listitems:=ListView1.Items;
ListView1.Clear;
ListView1.Items:=Listitems;
end;
代码的本意是将ListView1.Items保存在listitems中,在清空后恢复。
可是我们可以看到ListView1没有被恢复。
原因是没有为listitems建立副本。
他们都指向了同一个地址。
对他们两者的操作都会改变对方。
我到底要怎样做才能为他建立副本呢?