调用DELPHI的动态库需要传递一个无类型指针(Pointer),出现非法指针操作错误,请兄弟们帮忙看看代码。
delphi中定义如下:
function RecordData(pData: Pointer) : Boolean;stdcall;
VC中如下:
struct _RecordEventData {
BYTE testId;
DWORD alarmId;
WORD wHour;
WORD wMinute;
WORD wSecond;
WORD wMillSecond;
BYTE pointId;
} recordEventData;
typedef void (PASCAL * RecordData)(void *);
HINSTANCE hDll = LoadLibrary("TestMonitor.dll");
if(!hDll)
{
::MessageBox(NULL,"加载动态链接库失败!","Notice",MB_OK | MB_ICONWARNING);
return ;
}
RecordData hRecordData = (RecordData)::GetProcAddress(hDll,"RecordData");
if(!hRecordData)
{
::MessageBox(NULL,"获取RecordData函数地址错误!","Notice",MB_ICONWARNING);
return ;
}
RecordData (&recordData);