Delphi Tokyo 版本 TWebBrowser 的一个问题(Bug?)
2017-10-01 23:18
218 查看
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 实例。
在一个 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 实例。
相关文章推荐
- [置顶] 提交sugarCRM 一个bug...修复非英文版本中的一个问题
- ddcms的一个bug(php版本不兼容问题)
- Mybatis整合Spring 由于版本引起的BUG问题
- 转:VC运行库版本不同导致链接.LIB静态库时发生重复定义问题的一个案例分析和总结
- 发现ASP.NET2.0母版页和主题的一个小问题,不知道是不是不BUG
- VC运行库版本不同导致链接.LIB静态库时发生重复定义问题的一个案例分析和总结
- 一上午搞java编码问题,写了一个将批量文件编码转为UTF-8的小程序(有BUG-.-!)
- VC运行库版本不同导致链接.LIB静态库时发生重复定义问题的一个案例分析和总结
- 一直以来我(每个从事linux开发的人)深受“bug”的困扰,好像“bug”不足以描述这种被问题困扰的无奈。因为当在驱动或BSP的开发过程中,所碰到的问题比解决一个bug难得多。 Li
- 一个MySQL的奇怪问题-----不知道算不算bug
- Oracle rac 11204版本的一个问题
- 今天发现一个bug,不知道是什么问题,printf的问题吗,还是什么。先记下!
- QQ手机管家android版本的一个空指针bug
- VC运行库版本不同导致链接.LIB静态库时发生重复定义问题的一个案例分析和总结
- Prototype功能预览十三:一个注解完成更加规范的API版本管理-极大减少dubbo框架频繁修改接口问题
- 今天改bug遇到一个ie8样式错乱问题
- laravel 5.2.45版本中遇到的一个关于session的问题
- 转:VC运行库版本不同导致链接.LIB静态库时发生重复定义问题的一个案例分析和总结
- 初学lua --lua嵌入c++的一个问题(初始化lua出错,版本问题)
- 一个bug关于frame的问题