JS调用COM组件是什么意思

JavaScript013

JS调用COM组件是什么意思,第1张

在js下面直接将function传给这个属性,com组件里面调用这个IDispatch的函数即可。

idl文件,注意onevent1这里。

[plain] view plain copy

import "oaidl.idl"

import "ocidl.idl"

[

object,

uuid(6A6140E8-9356-4FBD-B0FD-04508D336B17),

dual,

nonextensible,

pointer_default(unique)

]

interface IComClassTest : IDispatch{

[id(1)] HRESULT Method1(BSTR arg1)

[propget, id(2), bindable, displaybind] HRESULT onevent1([out, retval] VARIANT* pVal)

[propput, id(2), bindable, displaybind] HRESULT onevent1([in] VARIANT newVal)

}

[

uuid(97157E1C-637C-4962-B069-96E70F572A99),

version(1.0),

]

library ATLProject3Lib

在javascript中先定义一个该COM的对象,然后用 var iResult = Com对象.sum(1, 2)这样iResult变量就会接到*pVal的值。但是要保证*pVal的类型是out的,而且必须是retval的,否则外面调用时是接不到的。