日期:2014-05-19  浏览次数:20768 次

C# 定义 C++ 回调函数,做过的请进来指点一下
//   Description:   注册录音回调函数。
void   TELMATEFUNC   TV_RegRecordCallBack(void   *pParam,CallBack_Record   RecordFunc);

///回调函数。
typedef   long   (CALLBACK   *CallBack_Record)(void   *pParam,char   *pBuf,long   lBufSize);

用C#怎么定义啊?


我这样定义

//定义代理
public   delegate   long   CallBack_Record(object   pParam,string   pBuf,int   lBufSize);  

//回调函数
public   static   long   RecBuf(object   pParam,string   pBuf,int   lBufSize)
{
}

注册回调
TV_RegRecordCallBack(o,record);

但是出错了,哪位高手能帮我帮帮我啊?


------解决方案--------------------
那么该传什么参数给IntPtr pParam 呢?
在C++中用的是 this,可是我用C#中的this又不行。怎么办啊?
------解决方案--------------------
to

Knight94(愚翁)

我写的是一个组件(Class) 根本没有 this.Handle 啊!

我用引用这个组建的窗体传到这里面,运行还是出错!

我该怎么办呢!