读书人

error C2664: 请大家帮帮忙啊该怎么处

发布时间: 2012-01-21 21:31:43 作者: rapoo

error C2664: 请大家帮帮忙啊

我调用以前VC6写的DLL中的CALLBACK,按照MSDN上做法如下
delegate void MyRealDataCallBack(参数);//委托

::jiankong::Frm_juzheng ^ MyFrm_junzheng = gcnew ::jiankong::Frm_juzheng;
MyRealDataCallBack^ f=gcnew MyRealDataCallBack(&jiankong::Frm_juzheng::RealDataCallBack);
m_lPlayHandle = NET_DVR_RealPlay_V30(lUserID, &struPlayInfo,f,NULL, bPreviewBlock);

static void CALLBACK RealDataCallBack(参数){todo}

编译无法通过啊!出错信息如下

error C2664: “NET_DVR_RealPlay_V30”: 不能将参数 3 从“jiankong::MyRealDataCallBack ^”转换为“void (__stdcall *)(LONG,DWORD,BYTE *,DWORD,void *)”

[解决办法]
委托必须是托管函数
[解决办法]


参考msdn:
Registering Callback Methods
http://msdn.microsoft.com/en-us/library/aa288468(v=vs.71).aspx#pinvoke_registeringcallback

读书人网 >VC

热点推荐