Delphi Firemonkey TButton免费

时间:2017-03-14 23:05:27

标签: delphi firemonkey delphi-10.1-berlin

我在Delphi 10.1 Firemonkey中发现了一些非常奇怪的东西。

procedure TForm1.Button1Click(Sender: TObject);
begin
  Button1.Free;
end;

在此之后 - 当我点击此按钮时,表单的系统图标无效!只有当按下另一个按钮或切换到另一个窗口并再次返回时,它才会返回工作状态。 为什么? 我很困惑......

2 个答案:

答案 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