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的,否则外面调用时是接不到的。