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);
}
...全文
142 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
tiantianlaile 2008-03-30
  • 打赏
  • 举报
回复
不懂!~~~~顶
鈡dauphin 2008-03-29
  • 打赏
  • 举报
回复
继续学习中inggggggggggg
HarleyTung 2008-03-29
  • 打赏
  • 举报
回复
c++不懂,帮顶!
wzd24 2008-03-28
  • 打赏
  • 举报
回复
是否为委托被GC销毁了??
  • 打赏
  • 举报
回复
奇怪了呀,看代码是没有问题。

110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧