有一个用VC写的COM,需要在C#中调用方法中有六个参数,第一个是输入参数,后五个都是输出参数
如:methodname(param1,param2,param3,param4,param5,param6)
除param1外,其他五个全部都是输出参数引用并申明的COM组件后,我试着使用如下方法调用:
string strParam1;
strParam1="";
object objParam1=strParam1;
……
//其他参数依照这个方法申明的objcom.methodname(ref objParam1,ref objParam2,ref objParam3,ref objParam4,ref objParam5,ref objParam6);结果执行到上一句时出错了
Visual Studio提示的函数的调用方法应该是:methodname(ref object,ref object,ref object,ref object,ref object,ref object)不知道为什么老是执行到这一句就出错了请各位指点迷津,谢谢各位

解决方案 »

  1.   

    应该是
    objcom.methodname(objParam1,ref objParam2,ref objParam3,ref objParam4,ref objParam5,ref objParam6);
      

  2.   

    不知道,不过 object objParam1=strParam1;  对象可以赋string 我觉得类型有点不匹配关注一下
      

  3.   

    如我调用COM  的调用法:            
    objClass.GetFormList(ref sOutBuffer,//Out string
                         lGetNo,        //In  int
                         out lCount,    //Out int
                         lForceEnd,     //In int
                         out lErrorType,//Out int
                         out lErrorCode);//Out int
      

  4.   

    忘了说明一个事情,有可能引起各位的误解了
    我的全部参数都是Variant型的能否请教各位,引用与非引用有何区别啊?
    另外:
    Out param1,这种用户我在什么时候可以使用什么时候不能使用呢
    谢谢