////////////dll文件
library MyDLL;uses
  SysUtils,
  Classes;{$R *.RES}function getDbPass(var a:pchar):integer;stdcall;
begin
  a:='sasa';
  result:=1;
end;exports
  getDbPass;begin
end.////////////////调用
function getDbPass(var a:pchar):integer;stdcall;External 'MyDLL.dll';procedure TForm1.Button1Click(Sender: TObject);
var b:pchar;
begin
  label1.caption:=inttostr(getDbPass(b));
  label2.Caption :=b;
end;调用是正确的,为何出现“Invalid pointer operation"错误!
急!!!!
在线等待

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var b:pchar;
    begin
      getmem(b,255);
      label1.caption:=inttostr(getDbPass(b));
      label2.Caption :=b;
    end;
      

  2.   

    outer2000(天外流星) 
    还是出现那个错误提示
    再请教
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
    var b:pchar;
    begin
      getmem(b,255);
      label1.caption:=inttostr(getDbPass(@b));
      label2.Caption :=b;
    end;