【发布时间】:2011-07-03 13:30:01
【问题描述】:
在我用 C++ 编写的 COM 组件中,有以下功能: HRESULT f(BSTR id)
如何在VBScript中调用这个函数?
提前致谢!
【问题讨论】:
在我用 C++ 编写的 COM 组件中,有以下功能: HRESULT f(BSTR id)
如何在VBScript中调用这个函数?
提前致谢!
【问题讨论】:
为了从 VBScript 调用 COM 组件,您的对象必须实现 IDispatch 接口。完成此操作后,您可以执行以下操作:
Set myObj = CreateObject("yourObject")
myObj.f "Hello, world!"
从 vbscript 传入的 VARIANT 参数与实现所需的 BSTR 参数之间的映射是 IDispatch 实现的工作。如果您使用的是 ATL,请参阅这篇关于如何使用 ATL 内置 IDispatch 实现的文章:http://flylib.com/books/en/3.90.1.47/1/
【讨论】:
myObj.f "Hello, world!",不带括号。使用没有Call 语句的括号是非常危险的。