请教VBS调用COM组件时传参问题

lxw_it 2012-08-11 05:28:35
VBS调用COM组件时,可不可以将COM里面定义的一个对象作为参数,在调用同一组件的别一个接口传入这个接口。
可以的话应该怎么写。
比如我在COM组件里定义一个对象TASK,在VBS里声明
Dim task
task = CreatObject()
后调用同一组件的另一个接口,Dim test
test = CreatObject()
test.putIn(task)

能将task做为参数传入吗?


上面几行代码有问题我知道,不考虑这个,
对象正确创建和赋值了,接口也能调用,
就是问下能不能将对象做为参数传入。
...全文
269 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lxw_it 2012-08-13
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
用法应该是这样。

只是,你确定 test.putIn(task) 里的这个 task ,一定是前面 Dim 的那个 task吗?
VBS里也要考虑变量作用域的问题吧。

还有一个问题是,VBS是不会对标识符区分大小写的,你的“类名”和变量名,虽然你写出来认为是有区别的,但恐怕实际上有歧义。
建议你把task换成别的名称再试试。
[/Quote]

嗯,这个我倒没注意。刚接触VBS没多久,没注意是否区分大小写,可能是这个问题,我先试试
Tiger_Zhao 2012-08-13
  • 打赏
  • 举报
回复
对象赋值要用 Set 语句
Set task = CreatObject()
Set test = CreatObject()
舉杯邀明月 2012-08-12
  • 打赏
  • 举报
回复
用法应该是这样。

只是,你确定 test.putIn(task) 里的这个 task ,一定是前面 Dim 的那个 task吗?
VBS里也要考虑变量作用域的问题吧。

还有一个问题是,VBS是不会对标识符区分大小写的,你的“类名”和变量名,虽然你写出来认为是有区别的,但恐怕实际上有歧义。
建议你把task换成别的名称再试试。
lxw_it 2012-08-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
如果你的 putIn()接收的参数类型为Object,应该可以吧。
[/Quote]

当然有试过了,不然也不会来这边求教了
对象创建成功了,接口也调用到了,就是对象传不进去。
或者说不知道怎么传。
lxw_it 2012-08-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
如果你的 putIn()接收的参数类型为Object,应该可以吧。
[/Quote]

接收的参数就是指定的task的类型
  • 打赏
  • 举报
回复
向高手学习了!
贝隆 2012-08-11
  • 打赏
  • 举报
回复
试一试吧,感觉这个的具体问题具体分析。
舉杯邀明月 2012-08-11
  • 打赏
  • 举报
回复
如果你的 putIn()接收的参数类型为Object,应该可以吧。

864

社区成员

发帖
与我相关
我的任务
社区描述
VB COM/DCOM/COM+
c++ 技术论坛(原bbs)
社区管理员
  • COM/DCOM/COM+社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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