请问VBS调用COM组件时传参有关问题
请教VBS调用COM组件时传参问题VBS调用COM组件时,可不可以将COM里面定义的一个对象作为参数,在调用同一组件
请教VBS调用COM组件时传参问题 VBS调用COM组件时,可不可以将COM里面定义的一个对象作为参数,在调用同一组件的别一个接口传入这个接口。 可以的话应该怎么写。 比如我在COM组件里定义一个对象TASK,在VBS里声明 Dim task task = CreatObject() 后调用同一组件的另一个接口,Dim test test = CreatObject() test.putIn(task) 能将task做为参数传入吗? 上面几行代码有问题我知道,不考虑这个, 对象正确创建和赋值了,接口也能调用, 就是问下能不能将对象做为参数传入。[解决办法] 如果你的 putIn()接收的参数类型为Object,应该可以吧。[解决办法] 试一试吧,感觉这个的具体问题具体分析。[解决办法]
引用: 如果你的 putIn()接收的参数类型为Object,应该可以吧。 接收的参数就是指定的task的类型
[解决办法] 引用: 如果你的 putIn()接收的参数类型为Object,应该可以吧。 当然有试过了,不然也不会来这边求教了
对象创建成功了,接口也调用到了,就是对象传不进去。
或者说不知道怎么传。
[解决办法] 用法应该是这样。
只是,你确定 test.putIn(task) 里的这个 task ,一定是前面 Dim 的那个 task吗?
VBS里也要考虑变量作用域的问题吧。
还有一个问题是,VBS是不会对标识符区分大小写的,你的“类名”和变量名,虽然你写出来认为是有区别的,但恐怕实际上有歧义。
建议你把task换成别的名称再试试。
[解决办法] 向高手学习了!
[解决办法] 对象赋值要用 Set 语句
Set task = CreatObject() Set test = CreatObject() [解决办法] 引用: 用法应该是这样。 只是,你确定 test.putIn(task) 里的这个 task ,一定是前面 Dim 的那个 task吗? VBS里也要考虑变量作用域的问题吧。 还有一个问题是,VBS是不会对标识符区分大小写的,你的“类名”和变量名,虽然你写出来认为是有区别的,但恐怕实际上有歧义。 建议你把task换成别的名称再试试。 嗯,这个我倒没注意。刚接触VBS没多久,没注意是否区分大小写,可能是这个问题,我先试试