我在delphi中编译了一个DLL,如下
function OpenCom(Com: PChar; SMSMsg: TSMSMsg): Boolean;
其中SMSMsg是一个回调函数,其类型的声明为
TSMSMsg = procedure (Phone, DateTime, Messages: PChar); stdcall;我现在想在VC中调用这个DLL,可是不知道改如何处理回调函数,我这样试了一下不行:
HINSTANCE ins;
typedef void (WINAPI *PFCALLBACK)(LPTSTR P1,LPTSTR P2,LPTSTR P3) ;
typedef bool (* Open)(LPTSTR,PFCALLBACK);
ins = LoadLibrary("sms.dll");
Open open;
open = (Open)GetProcAddress(ins,"OpenCom");
(open)("Com2",SmsMsg);
FreeLibrary(ins);
其中SmsMsg是这样定义的:
void WINAPI SmsMsg(LPTSTR phone,LPTSTR datetime,LPTSTR msg)
{
}