我有一个清单TPanels
在 FMX 应用程序中,如果我单击面板,我想释放它。
直接在 Onclick 处理程序中释放它们不是正确的方法,因为我遇到了访问冲突。我不想使用windowsmessages
(推荐于如何释放其事件处理程序内部的控制权? https://stackoverflow.com/questions/2502565/how-to-free-control-inside-its-event-handler and 当我在自己的 OnClick 处理程序中销毁按钮时,为什么我的程序会崩溃? https://stackoverflow.com/questions/3359552/why-does-my-program-crash-when-i-destroy-a-button-in-its-own-onclick-handler)因为它是一个 firemonkey 应用程序,我不知道这些消息在 android 和 mac 上如何工作。
还有其他解决方案吗?
Use myObject.Release http://docwiki.embarcadero.com/Libraries/XE8/en/FMX.Types.TFmxObject.Release:
将此 TFmxObject 对象标记为延迟删除。
此方法中的立即操作:
延迟行动:
记住这个方法Free
(和程序FreeAndNil
) 不会在移动平台中删除对象本身:
// 在 ARC 下,这个方法实际上并没有被调用,因为编译器会进行翻译
// 调用只是对实例变量进行 nil 赋值,然后调用 _InstClear
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)