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

为什么FMX.TOpenDialog组件在Android系统中无法正常运行?

FMX TOpenDialog 在 Android 端调用Execute无响应/被跳过的常见原因
  • 动态权限缺失:Android 6.0及以上版本要求动态申请存储相关权限,仅在清单文件静态声明READ_EXTERNAL_STORAGE权限无效。调用OpenDialog1.Execute前必须先完成动态权限申请,拿到用户授权后才能正常弹出选择框,未授权时Execute会直接返回false,无任何界面提示。
  • 分区存储适配问题:Android 11及以上版本强制启用分区存储规则,旧版Delphi FMX的TOpenDialog未适配该特性,调用时会直接执行失败被跳过。这种场景下需要改用Android原生的ACTION_OPEN_DOCUMENT意图实现文件选择,替换默认的TOpenDialog组件。
  • 调用时机错误:不要在主窗体的OnCreate生命周期事件中直接调用Execute方法,此时FMX还未完成和Android原生上下文的绑定,会导致弹窗初始化失败。建议放在用户主动触发的交互事件(比如按钮点击事件)或者窗体OnShow事件中调用。
  • 组件属性配置异常:如果Filter属性存在格式错误,或者Options属性中配置了Windows平台专属的参数,会导致Android端组件初始化失败,Execute方法直接跳过执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 06:42:03