TWebbrowser导致AV - 寻找什么

时间:2013-01-01 13:22:57

标签: delphi access-violation twebbrowser

我想在隐藏滚动条的表单上有一个TWebbroser

在WebBrowser1DownloadComplete上我放了WebBrowser1.OleObject.document.body.scroll:='no'; 但这导致AV。 如果我单击继续,我可以看到实际删除了滚动条,因此代码必须是正确的。

我要做的是显示Google地图中的一个页面,其中添加了很多标记。这个页面需要打印在A4页面上,但要直接从TWebbrowser打印(或者至少我不能让它工作)。因此我将其保存为JPG图像并将其加载到另一个表单上,使用带有我想要的页眉和页脚的A4页面上的DevExpress打印系统进行打印。 除了删除滚动条之外,所有工作都像我想要的那样。

为了访问谷歌地图,我使用了来自http://www.cadetill.com/gmlib/的gmLibrary - 非常好的lib,它有一个我喜欢的价格。

1 个答案:

答案 0 :(得分:0)

只需将您的代码放入DocumentComplete事件即可删除AV。

如果嵌入了控件,删除滚动条的IE HTML / CSS技巧将无法正常工作。要真正删除滚动条,您必须使用IDocHostUIHandler接口继承TWebBrowser。在GetHostInfo中,您必须至少设置DOCHOSTUIFLAG_SCROLL_NO标志。

您可以考虑使用现有的后代之一,例如“嵌入式Web浏览器组件包”(http://www.bsalsa.com/)。