android - Delphi FMX:DisposeOf 控件在 windows paltform 中有效,但在 Android 中无效。有什么问题?
问题描述
我在运行时创建一个按钮并设置 onclick 事件,如下所示:
BDel := TButton.Create(CR);//CR is Tpanel
BDel.Parent := CR;
BDel.Position.Y := 115;
BDel.Width := 120;
BDel.Height := 32;
BDel.Position.X := 150;
BDel.Text := 'Delete Panel';
BDel.OnClick := BdelClick;
按钮位于面板内。onClick 流程如下:
procedure TForm1.BdelClick(Sender: TObject);
var
tt: TPanel;
begin
tt := ((Sender as TButton).Parent as TPanel);
tt.DisposeOf;
end;
此代码在 Windows 平台和按钮中正常工作,其父级已删除,但在 Android 中无法正常工作。有什么问题?
解决方案
您需要清除对象的所有链接。
(Sender as TButton).Parent:= nil;
tt.DisposeOf;
tt:= nil;
推荐阅读
- javascript - 对象未在鼠标悬停时更新谷歌地图的视图
- lua - 我在 Roblox Lua 脚本中遇到问题。我想编写脚本,以便在死亡时保存库存。有小费吗?
- c# - 从未使用过 Resharper 方法
- python - HTTP POST使用套接字 - python
- reactjs - 在哪里存储 Auth0 域和客户端 ID?
- java - 以编程方式将 PEM 证书导入 Java KeyStore
- git - 为什么 Gitolite 在克隆时给出“无效的仓库名称”?
- perl - 为什么不能 Net::SSH::Expect 登录?
- api - 如何从 Jenkins API 设置“更改”和“开始于”?
- java - java exec() 的输出语言字符串