dll中有这样的函数openfile(char * filename)
DELPHI该怎么调用:
var filename:string
openfile(@filename)为什么不对?

解决方案 »

  1.   

    试试 openfile(PChar(filename));
      

  2.   

    因为C语言中的字符串都有一结束标志,而Delphi里的字符串没有!你把filename的类型改成PChar试试
      

  3.   

    .
    .
    .
    type
      Topenfile(filename:PCHAR) = procedure; stdcall;
    .
    .
    .
    var
      openfile: Topenfile;
    .
    .
    .
    procedure TForm1.FormCreate(Sender: TObject);
    var
      hModule: Cardinal;
    begin
      hModule := LoadLibrary( PCHAR('yourDLL.dll'));
      @openfile = GetProcAddress( openfile, hModule);
    end;
    .
    .
    .
      openfile(PCHAR('fsljlajf'));
    .
    .
    .
      

  4.   

    kyee(浪子阿鹏) 是对的.
    var filename:PChar;
      ...
      //filename初始化
      openfile(@filename)
      //filename释放