我有一个“Form 1”,它通过参数将对象列表发送到“Form 2”。但是 Delphi 将列表作为参考发送,所以如果我关闭释放列表中的“Form 1”错误发生在“Form 2”中
作为样本:
表格1:
var list: TObjectList<TPerson>;
begin
list := TObjectList<TPerson>.Create();
Try
list.Add(TPerson.Create('JOHN', 29));
list.Add(TPerson.Create('MARK', 27));
Form2.getList(list);
Finally
FreeAndNil(list);
End;
问题是在“Form 1”中释放列表后,引用指向一个已释放的对象。
问题是:
如何将列表作为副本而不是参考发送到“表格 2”?
谢谢!