VBS调用COM组件时,可不可以将COM里面定义的一个对象作为参数,在调用同一组件的别一个接口传入这个接口。
可以的话应该怎么写。
比如我在COM组件里定义一个对象TASK,在VBS里声明
Dim task
task = CreatObject()
后调用同一组件的另一个接口,Dim test
test = CreatObject()
test.putIn(task)能将task做为参数传入吗?
上面几行代码有问题我知道,不考虑这个,
对象正确创建和赋值了,接口也能调用,
就是问下能不能将对象做为参数传入。

解决方案 »

  1.   

    如果你的 putIn()接收的参数类型为Object,应该可以吧。
      

  2.   


    接收的参数就是指定的task的类型
      

  3.   

    用法应该是这样。只是,你确定 test.putIn(task) 里的这个 task ,一定是前面 Dim 的那个 task吗?
    VBS里也要考虑变量作用域的问题吧。还有一个问题是,VBS是不会对标识符区分大小写的,你的“类名”和变量名,虽然你写出来认为是有区别的,但恐怕实际上有歧义。
    建议你把task换成别的名称再试试。
      

  4.   

    对象赋值要用 Set 语句
    Set task = CreatObject()
    Set test = CreatObject()
      

  5.   


    嗯,这个我倒没注意。刚接触VBS没多久,没注意是否区分大小写,可能是这个问题,我先试试