VC写得dll,参数为结构,delphi如何调用?
VC写得dll,参数为结构,delphi如何调用?
c结构如下
typedef struct {
char Name[32];
short FieldNo[10] ;
short FieldCount;
}K_INFO;
c函数声明为:
int __stdcall Test(K_INFO* Info);
我在delphi里结构为
TYPE
K_INFO = RECORD
Name : ARRAY[ 0..31 ] OF char;
FieldNo: ARRAY[ 0..9 ] OF smallint;
FieldCount:smallint;
END;
PK_INFO=^K_INFO;
我在delphi里声明为
Function Test(Info:PK_INFO):integer;stdcall;external 'Mydll.dll' name 'Test';
调用时:
var
Info:K_INFO;
ret:integer;
begin
Info.Name:='test';
Info.FieldCount:=0;
ret=Test(@Info);
end;
不成功,出现保护错!
用引用,不传地址我也试过,传实参我也试过,一样!
各位delphi高手,请帮忙!