前端之家收集整理的这篇文章主要介绍了
为什么在Delphi中可以自行分配?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
GUI应用程序中的此
代码编译并运行:
procedure TForm1.Button1Click(Sender: TObject);
begin
Self := TForm1.Create(Owner);
end;
(用德尔福6和2009测试)
为什么是自写而不是只读?
>在哪种情况下这可能是有用的?
编辑:
>这是否也可能在Delphi棱镜? (我想是的,见here)
更新:
Delphi应用程序/使用自我分配的库:
> python4delphi
这没有那么糟糕。我只是在Delphi 2009中测试过,并且看起来,虽然Self参数不使用const语义,但是您似乎暗示它应该是它也不会使用var语义,所以你可以改变它想要在你的
方法中,而
不会丢失调用者对你的对象的引用。这将是一件非常糟糕的事情。
至于为什么,两个答案之一。要么是一个简单的监督,要么是Marco建议的:允许你将自己传递给一个var参数。
原文链接:https://www.f2er.com/delphi/103290.html