#pragma pack(1)
struct STInfo
{
//...
}
#pragma pack()
int _stdcall Test(struct STInfo *info); //ptest.dll
Delphi中作以下定义type
STInfo = packed record
//...
end;
pSTInfo = ^STInfo*info是pSTInfo类型?下面的定义是否正确?如何调用?
function Test(info: pSTInfo): integer; stdcall;
external 'ptest.dll';
struct STInfo
{
//...
}
#pragma pack()
int _stdcall Test(struct STInfo *info); //ptest.dll
Delphi中作以下定义type
STInfo = packed record
//...
end;
pSTInfo = ^STInfo*info是pSTInfo类型?下面的定义是否正确?如何调用?
function Test(info: pSTInfo): integer; stdcall;
external 'ptest.dll';
#pragma pack(1)
struct STInfo
{
DWORD dwA;
char sB[2];
char sC[3];
char sD[4];
int iE;
char sF[5];
}
#pragma pack()在Delphi定义如下
type
STInfo = packed record
dwA: DWORD;
sB: array [0..1] of char;
sC: array [0..2] of char;
sD: array [0..3] of char;
iE: integer;
sF: array [0..4] of char;
end;
pSTInfo = ^STInfo
应该是没什么问题的,DLL是其它公司的,我无法跟踪.用他们给的头文件在VC下也得到错误的结果,后来才知道他们给的查询工具有问题,唉,没有工具,我也不知道是不是真的对了.
连个demo都没有,我还是第一次做这样的合作.
本来很简单的东西,偏偏被他们搞得复杂化.让他们花十几分钟给我写一个demo都推三推四.