Delphi Tokyo 版本 TWebBrowser 的一个问题(Bug?)

FireMonkey  底下,Android APP:

在一个 Form 上放页标签,在其中一个页里放一个 TWebBrowser ,其它页放其它界面控件。加个按钮,让 WebBrowser1 去打开一个 URL,显示一个网页。

APP 编译为 Windows 版本,运行,没有任何问题。

编译为 Android 运行在手机上,当 WebBrowser 打开网页后,切换到其它页标签后(WebBrowser1 没在屏幕上显示了),整个界面失去对触摸到响应。用 Debug 方式来运行看,IDE 里面没有任何错误提示出来。

换种方式,将 WebBrowser 放到一个 Layout 上,同时在这个 Layout 上放一个 ListView。加个按钮,隐藏 WebBrowser 以显示 ListView。

同样,当 WebBrowser 打开网页后,如果点按钮隐藏掉它,ListView 倒是显示出来了,然后整个界面就失去对触摸到响应,好像死机了。

再换种方式,增加一个 Form,把 WebBrowser1 放到这个 Form 上面。Form 上放一个按钮,事件代码是关闭这个 Form。命名这个 Form 为 FmWebBrowser.

主界面里面,点按钮,显示有 WebBrowser1 的 Form,打开一个网页。然后点这个 Form 上的关闭按钮,回到主界面,然后主界面失去对触摸的响应。

------------------------------------------------------

总结:不管什么方式,只要显示了网页,然后将当前屏幕的 WebBrowser 切换为显示其它界面元素,整个程序失去响应。这个问题在 Berlin 版本是没有的。

-------------------------------------------------------

上网搜了一下,没搜到相应的问题报告,也没搜到解决办法。

自己试了试,将工程文件里面创建这个 FmWebBrowser 的代码注释掉。在主 Form 里面,需要显示 WebBrowser 的地方,增加一行代码:

if not Assigned(FmWebBrowser) then FmWebBrowser := TFmWebBrowser.Create(Application); 

也就是运行期动态创建它。

然后,这个问题就消失了。

看起来,在 FireMonkey Mobile 的程序里面,不能在程序启动的时候就创建 WebBrowser 实例。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值