我在Delphi 10.1 Firemonkey中发现了一些非常奇怪的东西。
procedure TForm1.Button1Click(Sender: TObject);
begin
Button1.Free;
end;
在此之后 - 当我点击此按钮时,表单的系统图标无效!只有当按下另一个按钮或切换到另一个窗口并再次返回时,它才会返回工作状态。 为什么? 我很困惑......
答案 0 :(得分:0)
解决问题的方法是:
procedure TForm1.Button1Click(Sender: TObject);
begin
RemoveObject(Button1);
end;
在VCL中使用.Free,但FMX以不同的方式工作。
答案 1 :(得分:0)
这是因为在delphi下制作弧线的方式(可怕的方式)。在弧下免费无所事事。它是完全愚蠢的,但在embarcadero缝的人喜欢它,之后我看到像你这样的人不明白为什么他们的代码不起作用......
所以不要做button1.free而是你需要做button1.disposeOF ...用disposeOF替换你所有的免费代码,你的代码在ARC下会少一些,并且感谢emb