我试过用PCHAR,但不行呀?请再次指教!

解决方案 »

  1.   

    贴代码。不然没法“指教”
    只能提请注意函数定义必须是stdcall的
      

  2.   

    告诉大家你的VC中函数的声明好吧?---The end;
      

  3.   

    VC里的函数声明是:
    FUNCTION long ReadCard(ref string zh, ref string czye, ref string czdyhs, ref string czhm, long iComPort) LIBRARY "pb.dll"在DELPHI里的声明是:
       TReadCard =Function (var zh,  czye, czdyhs, czhm: Pchar ; iComPort:longint ) :longint;StdCall;
      

  4.   

    我也试过,但还是不行,我曾经试过在VC里字符串的声明换成CHAR &,但只能返回第一个字符串的值,其余的不能返回!
      

  5.   

    var pchar?
    建议最好由调用程序分配内存然后传入dll, 而不要返回在dll中分配内存(鬼知道内存是不是已经在dll调用结束时被释放了?)