我用vc了一个 .dll,用vc调用已经成功了.
我想用delphi调用该.dll文件.编译成功了
就是在运行是出现 Access violation 也查了些网上的文章说是指针的问题
或是类型不匹配.但我就是查不出毛病.请各位高手指点小弟一二.vc下定义的输出函数:
int TimeDelay(unsigned long n)delphi 下的引用:
var
Form1: TForm1;
a : integer;
n : Cardinal;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
n:=13;
a:=TimeDelay(n);//就是这步出问题
我想用delphi调用该.dll文件.编译成功了
就是在运行是出现 Access violation 也查了些网上的文章说是指针的问题
或是类型不匹配.但我就是查不出毛病.请各位高手指点小弟一二.vc下定义的输出函数:
int TimeDelay(unsigned long n)delphi 下的引用:
var
Form1: TForm1;
a : integer;
n : Cardinal;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
n:=13;
a:=TimeDelay(n);//就是这步出问题
function TimeDelay(n : Cardinal):integer;stdcall;external 'TDelay2.dll';
我如何知道它是否被引入急.......
但是我就是查不出问题在那里我要调用的函数只有以个参数 unsigned long n,我在delphi 下把它定义为Cardinal
因为他们都是32位的 无符号数,
还有就是 函数的返回值 int ,我在delphi下把它定义为integer然后就没有参数传递了.