c写的Dll中有这样的函数定义int FAR PASCAL EXPORT Init(char *Number);如何引用我声明
function Init(var Nber:PChar): Integer; stdcall; external 'Demo.DLL';procedure TForm1.Button1Click(Sender: TObject);
var anum:pchar;
rsl:integer;
begin
rsl:=init(anum);
end;运行后报错,怎么办?
function Init(var Nber:PChar): Integer; stdcall; external 'Demo.DLL';procedure TForm1.Button1Click(Sender: TObject);
var anum:pchar;
rsl:integer;
begin
rsl:=init(anum);
end;运行后报错,怎么办?
procedure TForm1.Button1Click(Sender: TObject);
var
anum:pchar;
S: String;
rsl:integer;
begin
anum:=@S[1];
rsl:=init(anum);
end;
Function Init( Number : PChar ) : Integer; Stdcall; External 'Demo.DLL';
如果你的Number参数是变参的话,应该这样定义:
Function Init( Var Number : String ) : Integer; Stdcall; External 'Demo.DLL';
var
anum: array[0..256] of Char;
rsl: Integer;
begin
rsl := init(anum);
end;
function Init(Nber:PChar): Integer; stdcall; far; pascal external 'Demo.DLL';procedure TForm1.Button1Click(Sender: TObject);
var
anum: array[0..256] of Char;
rsl: Integer;
begin
rsl := init(anum);
end;