对象和非对象能不能用同一种方式赋值的?我有一个函数,返回一个Variant类型,这个返回我会保存到一个变量里,如果是对象 set varRet=fun()
如果是非对象 varRet=fun()区分这个很麻烦,有没有什么一次性的办法?现在的做法是:先判断if isobject(fun()) then 
                        set varRet=fun()
                   else
                        varRet=fun()
                   end if这样fun()要调用3次,效率太低了~~~~~~~~~~~~杯具,押宝押完了,就17分了

解决方案 »

  1.   

    唉,这个问题不用解了,VB6有默认值,貌似没有办法不用isobject而直接赋值?
      

  2.   

    改成无返回的sub,在sub中直接判断,设置
      

  3.   

    什麼意思?
    set varRet=fun()
    if isobject(varret) then
    ''''
    else
    ''
    end if這樣不行啊
      

  4.   

    给你个思路:function fun(varRet) as long
       dim a
       '处理代码.....
        if isobject(a) then
            set varRet=a
            fun=1
        else
            varRet=a
            fun=2
        end if
    exit function'调用
    dim varRet
    dim n as long n=fun(varRet)
    select case n
        case 1 '作为object处理varRet
         case 2 '作为变量处理varRet
        case 0  '出错(这个你要自己在fun添加错误处理代码)
    end select
      

  5.   

    始终要判断一下类型的.使用VarType能得到类型.
      

  6.   

    看来根本的解决办法还是在fun()函数里做好判断,是否对象,然后弄个标志返回出来差不多了,结贴了