VS回调Delphi上位机回调函数的问题
用VS写的动态库,Delphi写的上位机。其他接口调用都没问题,动态库和上位机分别编译也没问题。但是动态库回调上位机的回调函数时,弹出“access violation at addressXXXX ,write of addressXXXX”
上位机和动态库中分别的操作是:
上位机中:
回调函数声明TOnResponse =procedure(sCmdBack:PChar) of object;回调函数有声明,有定义。
调用回调函数的接口函数function RegisterHWCallback(aCallback:TOnResponse):Integer;stdcall;external 'Hardware.dll';
动态库中:
回调函数声明typedef void (*TOnResponse)(PCHAR sCmdBack);
调用回调函数的接口函数extern"C"_declspec(dllexport)int _stdcall RegisterHWCallback(TOnResponse aCallback)
一旦进入该接口函数,即使里面是空操作,跳出这个接口函数时都会弹出“access violation at addressXXXX ,write of addressXXXX”
这个问题解决思路是什么,之前为这个动态库写过vs的上位机,都没问题。但是链接上对方的Delphi上位机后就弹出了这个问题。