看看是不是导入dll的路径的原因..这个dll是否需要注册?
regsvr32 refprop.dll 

解决方案 »

  1.   

    ref StringBuilder s4
    换成
    StringBuilder s4试试
      

  2.   

    ...
    风行网络电影uusee网络电视皮皮播放器下载
      

  3.   

       对的
       
       不过经过2楼的提醒,我把文件目录下的dll删除,问题仍然是一样。所以我觉得是不是路径问题。如何解决
      

  4.   

    比如说“./refprop.dll”是在哪个路径?
      

  5.   

    我这再贴一个c++的dll调用,可以运行,没有问题
    函数指针
    typedef void (__stdcall *fp_SETUPdllTYPE)(long &,char*,char*,char*,long &,char*,long ,long ,long ,long );定义函数
    fp_SETUPdllTYPE SETUPdll;导入dll
    HINSTANCE RefpropdllInstance;
    RefpropdllInstance = LoadLibrary("./refprop.dll");使用函数
    double x[ncmax],xliq[ncmax],xvap[ncmax],f[ncmax];    long i,ierr;
        char hf[refpropcharlength*ncmax], hrf[lengthofreference+1],
          herr[errormessagelength+1],hfmix[refpropcharlength+1];
    i=3;
          strcpy(hf,"nitrogen.fld");
      strcat(hf,"|argon.fld");
      strcat(hf,"|oxygen.fld");
          strcpy(hfmix,"hmx.bnc");
          strcpy(hrf,"DEF");
      strcpy(herr,"Ok");
      x[0]=.7812;     //Air composition
          x[1]=.0092;
          x[2]=.2096;   //...Call SETUP to initialize the program
    SETUPdll(i, hf, hfmix, hrf, ierr, herr,
    refpropcharlength*ncmax,refpropcharlength,
    lengthofreference,errormessagelength);
      

  6.   

    是不是报找不到dll文件的错误?
      

  7.   

    System.DllNotFoundException ?如果是的话,1.检查DLL文件是否位于程序当前目录或系统定义的查询路径中(即:系统环境变量中Path所设置的路径)。
    2.命名空间加上加上using System.Runtime.InteropServices;
      

  8.   

    肯定不是路径问题,InteropServices也加了
      

  9.   

    private extern static IntPtr SETUPdll(ref int l1,StringBuilder s2,
      StringBuilder s3,ref StringBuilder s4,ref int l5, StringBuilder s6, int l7,
      int l8, int l9, int l10);
    改成private static extern IntPtr SETUPdll(ref int l1,StringBuilder s2,
      StringBuilder s3,ref StringBuilder s4,ref int l5, StringBuilder s6, int l7,
      int l8, int l9, int l10);extern和static位置调一下试试