在做outlook插件的时候,发现VB中函数调用似乎不是那么简单的事情,比如:
public function test(ByVal a as string, ByVal b as int)
   'function process
end function
调用方法1: test(d,e) 'd,e 是两个变量,懒的写完整的定义了(下同)-_-!
调用方法2: test d,e
我的是VB6 sp6,加了code smart for VB,问题来了,我用第一种方法调用的时候,居然显示是错误的调用方式(语句显示为红色了),改成第二种就没有问题了。不知道是怎么回事情啊?

解决方案 »

  1.   

    第一种 要  call test(d, e)
      

  2.   

    你的
    public function test(ByVal a as string, ByVal b as int) 
       'function process 
    end function 
    定义的是一个函数,而不是SUB(过程)。
    test(d,e)  调用是要将返回值赋值给某个变量的!你不把TEST返回的值赋值给变量,当然报错。
    TEST D,E  就是执行函数,不需要赋值给某个变量既然你不想要函数名“TEST”返回值,那么你为什么不用SUB呢,就你的程序看来,二者是一样的。