缺少TChromium中的默认接口

Rol*_*son 2 delphi com delphi-2007 twebbrowser

我们正在尝试将内置浏览器组件从TWebBrowser更改为TChromium.它主要用于显示Google和Bing的地图.从javascript到Delphi的通信是用COM完成的.

尝试将浏览器更改为TChromium时,无法编译此代码.

if supports(fBrowser.defaultInterface, IOleObject, fOLE) then
Run Code Online (Sandbox Code Playgroud)

因为TChromium缺少defaultInterface.

编辑: 是否有可能仍然使用Chromium从javascript与Delphi进行通信?我知道它们不兼容,我必须重写代码.我只是想知道如何从javascript到delphi获得结果.注意我使用的是Delphi 2007,因此无法使用扩展的RTTI.

关心Roland Bengtsson

Cos*_*und 5

我自己从未使用它,但TChromium似乎是"Chromium"Web浏览器的包装器,而TWebBrowserDelphi 的原始版本是IE浏览器的包装器.

TWebBrowser.defaultInstance为您提供IE浏览器的COM对象.对于你可以显然使用的Chromium浏览器TChromium.Browser,它为你提供了一个类型的对象ICefBrowser.该TChromium人是聪明的无以名物业defaultInstance,因为有很多的代码在那里从返回铸造defaultInstance到其他接口类型:如果TChromium.Browser被评为同样的,中投将编译并在运行时失败.因为IE浏览器显然不是Chrome浏览器,我怀疑Chromium浏览器是否完全实现了所有IE界面.

  • http://groups.google.com/group/delphichromiumembedded/browse_thread/thread/1793e7ca66012f0c (3认同)