delphi中调用由C编译的动态链接库,定义如下:
double __stdcall GetOffset(double *real,double *imag,int num,double dw);
本人在delphi中调用该函数:
定义:function GetOffset(var real:array of Double;var imag:array of Double;num:Integer;dw:Double):Double;stdcall;external '*.dll';
然后在程序中:
var
Num,I:Integer;
Real,Imag:array of Double;
OffSet:Double;
begin
Num:=1024;
SetLength(Real,Num);SetLength(Imag,Num);
for I:=0 to Num-1 do
begin
Real[I]:= somevalue;
Imag[I]:=somevalue;
end;
OffSet:=GetOffset(Real,Imag,Num,SysPara.NmrPara.dw);
此时程序报错。
为了确定问题所在,我在库中写下如下语句,
double tmp;
tmp=Imag[0];
此时程序报错,说明参数传递有错,第二个参数数组没有值。
请问,类似函数,在delphi中如何调用啊?
急!
double __stdcall GetOffset(double *real,double *imag,int num,double dw);
本人在delphi中调用该函数:
定义:function GetOffset(var real:array of Double;var imag:array of Double;num:Integer;dw:Double):Double;stdcall;external '*.dll';
然后在程序中:
var
Num,I:Integer;
Real,Imag:array of Double;
OffSet:Double;
begin
Num:=1024;
SetLength(Real,Num);SetLength(Imag,Num);
for I:=0 to Num-1 do
begin
Real[I]:= somevalue;
Imag[I]:=somevalue;
end;
OffSet:=GetOffset(Real,Imag,Num,SysPara.NmrPara.dw);
此时程序报错。
为了确定问题所在,我在库中写下如下语句,
double tmp;
tmp=Imag[0];
此时程序报错,说明参数传递有错,第二个参数数组没有值。
请问,类似函数,在delphi中如何调用啊?
急!
type
PDouble = ^Double;
function GetOffset(real,img: PDouble;num: Integer;dw: Double): Double;