请按照以下步骤操作:
- 创建新的
Firemonkey Moblie Application
- Add
TGeustureManager
表单的组成部分
-
Add 2 TButton
表单的组件
- Button1.Text:“Button1:做某事...”
- Button2.Text:“Button2:退出应用程序...”
-
双击 Button2 组件并编写以下代码OnClick
Event:
procedure TForm1.Button2Click(Sender: TObject);
begin
if MessageDlg('Are you sure you want to Exit?', TMsgDlgType.mtWarning,
[TMsgDlgBtn.mbYes, TMsgDlgBtn.mbNo], 0) = mrYes then
SharedActivity.finish;
end;
- 在调试模式下运行应用程序。
-
在设备上,单击按钮 2,然后在弹出的消息中单击“是”。会出现异常:
为什么会引发这个异常?
我认为这与未使用有关TGeustureManager
成分。但不,它是NOT:
- 如果您打开
Location
Delphi xe5自带的演示项目。
- Add
TButton
component to Location
Label as shown in the image below:
- 添加与上面相同的代码
OnClick
Event.
- 运行应用程序,然后单击 Button5,您将得到相同的异常。
这是我应该报告的错误吗?或者我做错了什么?
您可能在执行流耗尽之前终止正在运行的活动,从而导致问题。就像在表单方法中释放表单一样......
如果替换会发生什么:
SharedActivity.finish
with:
uses
FMX.Helpers.Android;
...
CallOnUIThread(procedure begin SharedActivity.finish end);
[凭记忆打字,可能需要一些调整]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)