vc++ dll中有回调函数。c#调用的问题。
HIGE6 2008-03-25 11:47:22 vc++ dll中有回调函数。c#中对应声明了回调函数。在vc++ dll中为什么不能得到c#回调函数的返回值。并且多调用几次vc++ dll就会出现异常?
大概代码:
c#中
public delegate Int32 CallBack(Int32 State, IntPtr handle);
CallBack GetStateCallBack = new CaluculationCallBack(GetState);
public Int32 GetState(Int32 State, IntPtr handle)
{
return 0;
}
Calc(GetStateCallBack, mainForm.Handle);
vc++ dll中:
typedef int (*CaluculationCallBack)(int in_Status,void* in_UserData);
void CDll::Calc(CallBack CalcState, void* handle)
{
int iRet = CalcState(1, handle);
}