sps*_*pli -1 delphi free reference object assign
我有一个关于在这里分配的问题,我想知道
Assign制作整个对象的副本和FTEA.Objects[0]也被释放了.我想复制一份,FTEA.Objects[0]当我获得自由时ObjCur,我不打算自由FTEA.Objects[0]- 不确定这样做的正确方法,需要你的帮助,谢谢:
function xxxxxxxxxxxxxxxxxxxxxxxx
var
curQuo, tempQuo:TXX_TEA;
begin
curQuo :=TXX_TEA(FTEA.Objects[0]);
if xxxxxxxxx then
begin
tempQuo := TXX_TEA.Create();
tempQuo.Assign(curQuo); // Question 1: Assign copy the whole object value or not
objCur.AddQuo(tempQuo)
end
else
TXX_TEA(objCur.Quos[0]).Assign(curQuo);
end;
finally
objCur.Free; // Question 2: FTEA.Objects[0] is freed or not
end;
end
Run Code Online (Sandbox Code Playgroud)
不,释放一个已从另一个对象分配的对象不会释放源对象.
如何分配功能完全取决于课程.每个类必须实现Assign,然后调用inherited并在类兼容时从源到目标分配自己的自定义属性.我建议查看这些类的源代码,以检查它们是否实现了Assign.
| 归档时间: |
|
| 查看次数: |
1336 次 |
| 最近记录: |