android - 类分割错误(11)

标签 android delphi firemonkey delphi-xe5

请按照以下步骤操作:

  1. 创建新的 Firemonkey 移动应用程序
  2. 在表单中添加TGeustureManager组件
  3. 在窗体中添加2个TButton组件

    • Button1.Text:“Button1:做某事……”
    • Button2.Text:“Button2:退出应用程序...”

    The application should appear like this

  4. 双击 Button2 组件并为 OnClick 事件编写以下代码:

    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;
    
  5. 在 Debug模式下运行应用程序。
  6. 在设备上,单击按钮 2,然后在弹出的消息中单击是。会出现异常:

    enter image description here

为什么会引发此异常?

我认为这与未使用的 TGeustureManager 组件有关。但不,它不是不是:

  1. 如果打开Delphi xe5自带的LocationDemo工程。
  2. Location标签中添加TButton组件,如下图所示: enter image description here
  3. 将与上面相同的代码添加到 OnClick 事件。
  4. 运行应用程序,点击 Button5,你会得到同样的异常。

这是我应该报告的错误吗?还是我做错了什么?

最佳答案

您可能在其执行流耗尽之前终止正在运行的 Activity ,从而导致问题。很像在表单方法中释放表单....

如果你替换会发生什么:

SharedActivity.finish

与:

uses
  FMX.Helpers.Android;
...
CallOnUIThread(procedure begin SharedActivity.finish end);

[凭内存输入,所以可能需要一些调整]

关于android - 类分割错误(11),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19875029/

相关文章:

ios - Delphi xe4-如何通过HTTP访问Foursquare API

Delphi FireMonkey - 有没有办法用非矩形区域剪辑 Canvas ?

android - 如何将点击事件监听器应用于android中的图像

listview - 如何通过代码使ListView VCL折叠/展开?

android - 如何减小 firemonkey android 应用程序的大小?

string - Delphi 汇编函数返回长字符串

android - 在videoview中播放youtube视频

android - Activity 背景

android - 如何在不使用 XMPP 或任何其他脚本的情况下使用 FCM 向设备发送设备通知。?

Delphi(FMX) 具有多个单选按钮的实时绑定(bind)