You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Delphi中ITask.ExecuteWork在移动设备上未等待任务完成问题咨询

关于Delphi TTask.ExecuteWork跨平台阻塞行为的问题

以下是我编写的代码:

fTask: ITask;

fTask := TTask.Create( procedure begin
  while not True do Application.ProcessMessages;
  TThread.Synchronize(TThread.Current, procedure begin
    // 更新UI
  end);
end);
fTask.ExecuteWork;  // 原本预期会阻塞直到fTask完成!

这段代码里,fTask.ExecuteWork在Windows平台会阻塞直至任务完成,但在Android平台却不会等待任务结束。

我的疑虑

  • Delphi在Android和iOS设备上不支持后台线程!

问题推测

如果确实存在上述问题,我认为可能是系统层面的限制导致,或是Firemonkey单主Activity的架构不支持多Activity所引发的。

我有一个使用ExecuteWork方法的GitHub仓库(Wait),或许能帮助理解我的问题,不过该仓库尚未完成。


内容的提问来源于stack exchange,提问作者Bravesaw

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 00:22:04