VC ATL生成的activex建立的接口返回值类型都是:STDMETHODIMP
#define STDMETHODIMP HRESULT STDMETHODCALLTYPE所以没有办法在返回值中返回输出结果。STDMETHODIMP CXX::FOO(long a, long *b);
类似这样的接口,在VB、VC中可以调用,但是在script中没法调用,不支持指针类型。还有一种方法是通过Property来返回输出结果,不过这样是不是太麻烦?有没有其它的方法呢?
#define STDMETHODIMP HRESULT STDMETHODCALLTYPE所以没有办法在返回值中返回输出结果。STDMETHODIMP CXX::FOO(long a, long *b);
类似这样的接口,在VB、VC中可以调用,但是在script中没法调用,不支持指针类型。还有一种方法是通过Property来返回输出结果,不过这样是不是太麻烦?有没有其它的方法呢?
在idl中,对函数增加propget属性。
以下是一个例子:
[propget, id(10), helpstring("method GetVersion")] HRESULT GetVersion([out,retval] BSTR *bstrVersion);
这样的话就没有问题了,谢谢提醒