WebBrowser的Document接口问题
大家好:
请教一下,下面这两条语句
//Dispatch: IDispatch;
Dispatch := IHTMLDocument2(WebBrowser1.Document).Script
这句在EXE里运行正常,放到线程里就报“不支持此接口”的错误,
网上查了一下,需要加入CoInitialize,
但我加入CoInitialize(nil);程序会停在这不动,
加入CoInitialize(self);还是报同一错误,
不知道有什么解决的方法?
[解决办法]
OLE对象需要初始化和终止化:
- HTML code
大家在执行TWebBrowser的某个方法以进行期望的操作,如ExecWB等的时候可能都碰到过“试图激活未注册的丢失目标”或“OLE对象未注册”等错误,或者并没有出错但是得不到希望的结果,比如不能将选中的网页内容复制到剪贴板等。以前用它编程的时候,我发现ExecWB有时侯起作用但有时侯又不行,在Delphi生成的缺省工程主窗口上加入TWebBrowser,运行时并不会出现“OLE对象未注册”的错误。同样是一个偶然的机会,我才知道OLE对象需要初始化和终止化...
[解决办法]
在程序加入以下句,即可解:
- Delphi(Pascal) code
initialization OleInitialize(nil); finalization try OleUninitialize; except end; 这几句话放在主窗口所有语句之后,“end.”之前。
[解决办法]
学习......
[解决办法]
学习了....!
[解决办法]
不要在线程里使用。