现在我要把asp程序改成asp.net,在原先的asp程序中调用了一个组件。现在.net也要调用。目前出现了点问题:asp:
   Set FileUp = Server.CreateObject("load.LFLib") 
   FileUp.SetDestinationPath filePath3
其中,filePath3是一个字符串,是一个文件路径。.net:
using Upload;
Upload.LAspFLibClass objUpload = new LAspFLibClass();调用objUpload.SetDestinationPath方法,传字符串不行。
鼠标停留时显示:object LAspFLibClass.SetDestinationPath(ref object strDesPath);
怎么要我应用传递一个object,看起来又像字符串,而且返回值又是个object。我真是搞不懂,这么大个论坛应该有人知道吧?希望大家帮帮我。

解决方案 »

  1.   

    传字符串编译报错,无法从string转换为ref object。我是声明一个object然后把string赋给他,但是调用到StartUpload()的方法时 Object variable or With block variable not set 。真是搞不懂啊,大家帮帮我啊。
      

  2.   

    这么大个论坛,我不信没人在.net里面调用过组件,这个问题应该会遇到的阿。
      

  3.   

    呵呵!我用的组件都是用.NET写的,老的ASP我真的没用过,所以不存在这个问题。
      

  4.   

    object LAspFLibClass.SetDestinationPath(ref object strDesPath);
    ref关键字指示的是要求你传入的是一个输出参数呀,可是看你在asp中的代码分明是一个输入参数嘛,这个函数到底有没返回值呀,组件是用c++写的吗,
    有很长时间没用.net了,楼主把问题说的更清楚些好吗,为什么要用object?
      

  5.   

    ref好像是标示一个输出参数,不太记得了,太长时间没用
      

  6.   

    在原先的asp 程序里,我看代码就是只传一个字符串。我在.net里传一个字符串编译就不行。报错:无法从string转换为ref object。
    我如下试了试:
    Object myobj = new System.Object();
    myobj = filePath3;
    objUpload.SetDestinationPath(ref myobj);
    编译是不报错了。但是在调用到objUpload.StartUpload()方法时报错:System.Runtime.InteropServices.COMException: Object variable or With block variable not set我感觉还是前面的方法调用有点问题。
      

  7.   

    using Upload;object strDesPath = @"....";Upload.LAspFLibClass objUpload = new LAspFLibClass(ref strDesPath );com是你用别的语言写的,不指明是string的类型c#不一定认识他的,自然就是通用的object
      

  8.   

    还是不行啦,调用到objUpload.StartUpload();出错了。
      

  9.   

    我就把我的代码帖一下:
        Upload.LAspFLibClass objUpload = new LAspFLibClass();
        System.Object myobj = new System.Object();  
        myobj=strPath3;
        objUpload.SetDestinationPath(ref myobj);
        myobj = "*";
        objUpload.SetAllowedExtensions(ref myobj);
        myobj = "exe,com,asp,aspx,bat,sys";
        objUpload.SetForbiddenExtensions(ref myobj);
        objUpload.StartUpload();
    运行到objUpload.StartUpload();出错:Object variable or With block variable not set 
      

  10.   

    必须先把com这个dll添加成引用!!
      

  11.   

    我已经添加过了  兄弟 
    using Upload;
      

  12.   

    我在用控件的时候也有这种现象,在ASP中是传的值类型的参数,
    但是到了.NET中就必须要你传ref引用参数
      

  13.   

    string在.net中是基本类型,object不是它的基类,用myobj=strPath3肯定不行呀
    用StringBuilder试试