在VC 中如下声明
void Test(**char ,**char) ;

解决方案 »

  1.   

    故且认为你的方法Delphi声明为:
      procedure Test( var Tstr : PChar ); stdcall; export;在VB中的定义为:
      Declare Sub Test Lib "XXXLibName" ( ByRef Tstr As String )值得注意的是,在Library单元中应有一个Exports声明:
       Exports Test Name "Test"
    否则在VB中的调用会失败
      

  2.   

    最好将所有的参数声明改为标准的 windows 声明,所有的数据类型改为标准 windows 数据类型,无法解决的就用指针。如上所述的情况,该为传参数的地址,就应该一点问题没有了,剩下的就是你自己在程序中处理的问题了。
      

  3.   

    vc中的使用为:
    typedef void (CALLBACK* Ltest)(char *,char *);
      HINSTANCE h;
      h=LoadLibrary("***.dll");
      char *s1,*s2;
      s1=new char;
      s2=new char;
      Ltest Y;
       Y=(Ltest)GetProcAddress(h,"test");
      (*Y)(s1,s2);