VBScript怎么使用variant传参给COM接口

hbjxx638 2011-06-30 09:22:07
在COM接口定义类似GetValue(Variant value),想把这个作为传出参数
然后在vbscript里面
dim var
xx.GetValue(var)
运行结果报错,说参数不对。
是不是我的COM接口定义有问题,还是调用的时候不对?

高手帮忙啊
...全文
75 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wyx100 2011-07-01
  • 打赏
  • 举报
回复
那就看看类型库源文件.IDL的定义是否正确。
com组件的结构体的变量是否有VARIANT类型的属性。
redui 2011-06-30
  • 打赏
  • 举报
回复
IDL:
HRESULT GetValue([out,retval] VARIANT* vRet)

VBS:
var = xx.GetValue()
亚细亚 2011-06-30
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 hbjxx638 的回复:]

引用 2 楼 yaxiya 的回复:

参数类型要大写:GetValue(VARIANT value)

肯定大写的
[/Quote]
那就看看类型库源文件.IDL的定义是否正确。
com组件的结构体的变量是否有VARIANT类型的属性。
hbjxx638 2011-06-30
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 yaxiya 的回复:]

参数类型要大写:GetValue(VARIANT value)
[/Quote]
肯定大写的
kyotrue 2011-06-30
  • 打赏
  • 举报
回复
有问题肯定是COM接口定义不对,IDL定义此参数为IN、OUT没有?还有传出参数的定义应该是指针才对。
亚细亚 2011-06-30
  • 打赏
  • 举报
回复
参数类型要大写:GetValue(VARIANT value)
kyotrue 2011-06-30
  • 打赏
  • 举报
回复
VBScript的变量都是variant

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧