- 首先创建一个VCL程序
- 在程序的主界面放置WebView浏览器控件
- 新增Automation Object(ActiveX 页面中),重点,注意WebView只支持IDisptcher接口
- 然后根据这个提示实现实现其函数功能
- 在浏览器中众注册:
Delphi程序
procedure TForm1.WebViewActive(Sender: TObject);
varDispatcher: IDispatch;A : OleVariant;
beginDispatcher := CoMyAuto.Create as IMyAuto;A := OleVariant(Dispatcher);//A.init(100);WebView.AddHostObject('Demo',A);end;
javascript程序:
const helper = chrome.webview.hostObjects.Demo;var a = await helper.init(199);
退出程序时,出现如下错误提示的解决方案:
在程序退出时调用如下代码:
procedure TForm1.Button2Click(Sender: TObject);
varFactory: IClassFactory;
begin//退出时不会有提示,注意:Class_MyAuto CoGetClassObject(Class_MyAuto, CLSCTX_SERVER, nil, IClassFactory, Factory);Factory.LockServer(False);
end;