Delphi Android 添加 FMX.types 声明时服务崩溃
Delphi Android service crash when add FMX.types declaration
我有 Delphi 11 Alexandria,我已经将简单的演示重新创建到 "make an Android Service"。
当我在我的 Android phone 上 运行 它工作正常,所以现在我想通过添加一个 TTimer
组件来增加服务的复杂性TDataModule
,但是当我添加 TTimer
时,应用程序在启动时崩溃。
然后我再次从 TDataModule
和 运行 中删除 TTimer
组件,但应用程序再次崩溃。
如果我然后从服务中删除 FMX.Types
的声明(它是在我将 TTimer
放在 TDataModule
上时添加的),那么应用程序 运行又好了
为什么无法将 FMX.Types
添加到 Android 服务中?
是否无法在 Android 服务中使用 TTimer
?
正如@DalijaPrasnikar 在评论中提到的,这是一个已知错误:
RSP-17857: Android service applications crash if FMX.Types unit is included
FMX.Types
单元在服务中不起作用,因为它的初始化试图在运行时访问一个 nil
指针(具体来说,一个名为 DelphiActivity
的全局变量,它是未针对服务设置,仅针对应用设置)。
要在服务中使用计时器,请尝试此解决方法代码:
我有 Delphi 11 Alexandria,我已经将简单的演示重新创建到 "make an Android Service"。
当我在我的 Android phone 上 运行 它工作正常,所以现在我想通过添加一个 TTimer
组件来增加服务的复杂性TDataModule
,但是当我添加 TTimer
时,应用程序在启动时崩溃。
然后我再次从 TDataModule
和 运行 中删除 TTimer
组件,但应用程序再次崩溃。
如果我然后从服务中删除 FMX.Types
的声明(它是在我将 TTimer
放在 TDataModule
上时添加的),那么应用程序 运行又好了
为什么无法将 FMX.Types
添加到 Android 服务中?
是否无法在 Android 服务中使用 TTimer
?
正如@DalijaPrasnikar 在评论中提到的,这是一个已知错误:
RSP-17857: Android service applications crash if FMX.Types unit is included
FMX.Types
单元在服务中不起作用,因为它的初始化试图在运行时访问一个 nil
指针(具体来说,一个名为 DelphiActivity
的全局变量,它是未针对服务设置,仅针对应用设置)。
要在服务中使用计时器,请尝试此解决方法代码: