在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
创建一个自动化对象 MyExternal,以实现 IDispatch 接口。 添加一个 Hello 方法,输出类型设置为 Variant *, 其代码如下:
function TMyExternal.Hello: OleVariant;
var arr: OleVariant; begin arr := VarArrayCreate([0, 9], varVariant); arr[0] := '1'; arr[1] := 432.3; arr[2] := '你好'; arr[3] := '哈哈fjsd3435'; result := arr; end; 在主窗体中写如下代码,主要目的是关联 window.external 的扩展实现:
procedure TForm1.FormCreate(Sender: TObject);
var path: string; begin myBrowser.OnGetExternal := BrowserGetExternal; Application.ProcessMessages; path := ExtractFilePath(Application.ExeName) + 'default.htm'; myBrowser.Go(path); end; function TForm1.BrowserGetExternal(out idisp: IDispatch): HRESULT; var myExternal: TMyExternal; begin myExternal := TMyExternal.Create; idisp := myExternal; result := S_OK; end; 在 HTML 中,记住要用 js 里的 VBArray 来取得返回数组,再转换为 js 的数组:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=gb2312"> <title> New Document </title> <meta name="Generator" content="EditPlus"> <meta name="Author" content="Neil Chen(木野狐)"> <meta name="keywords" content=""> <meta name="description" content=""> > |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论