private void button2_Click(object sender, EventArgs e)
{
//DecCBFun: 为委托
dcbf = new HikPlayer.DecCBFun(DecCBFun1);
bool b22 = HikPlayer.PlayM4_SetDecCallBack(1, dcbf);
}
当执行到 bool b22 = HikPlayer.PlayM4_SetDecCallBack(1, dcbf);的时候未能调用回调函数
//要调用的回调函数
public static void DecCBFun1(int nPort, IntPtr pBuf, int nSize, ref FRAME_INFO pFrameInfo, int nReserved1, int nReserved2)
{
}
请大家帮帮忙。
{
//DecCBFun: 为委托
dcbf = new HikPlayer.DecCBFun(DecCBFun1);
bool b22 = HikPlayer.PlayM4_SetDecCallBack(1, dcbf);
}
当执行到 bool b22 = HikPlayer.PlayM4_SetDecCallBack(1, dcbf);的时候未能调用回调函数
//要调用的回调函数
public static void DecCBFun1(int nPort, IntPtr pBuf, int nSize, ref FRAME_INFO pFrameInfo, int nReserved1, int nReserved2)
{
}
请大家帮帮忙。
解决方案 »
- string.Format会造成装箱吗?
- 数据乱值问题?
- 如何,在Panel中按下鼠标右键并移动时,Panel中的控件向相反方向移动
- 新手问题:我有文件夹book和oracle里都已有一个word.doc这个文件(但这两个word.doc文件内容不一样的),在winform中如何用命令实现在book文
- 急!
- C#(正则表达式筛选指定数据)
- 字符转换整型
- 如何改写编译后的dll文件
- 加密解密CryptoStream的问题
- 俄罗斯方块人工智能版+源码大公开
- 【求用 updatePanel 实现局部不刷新效果的 实例~~~】
- hotmail使用HttpwebRequest 域不同cookie跳转问题?
下面是一个小的例子,你可以参考下: private delegate void DGShow(String message);
private void Show(String message)
{
Console.WriteLine(message);
} private void Call(DGShow show)
{
show("hello");
} private void button1_Click(object sender, EventArgs e)
{
DGShow dg = new DGShow(Show);
Call(dg);
}
public static extern bool PlayM4_SetDecCallBack(int nPort, DecCBFun dcbf);
C# : void DecCBFun(int nPort, IntPtr pBuf, int nSize, ref FRAME_INFO pFrameInfo, int nReserved1, int nReserved2);
C# : void DecCBFun(int nPort, IntPtr pBuf, int nSize, ref FRAME_INFO pFrameInfo, int nReserved1, int nReserved2);
// 这个函数定义怎么这么奇怪?
void (CALLBACK* DecCBFun)(long nPort,char * pBuf,long nSize,FRAME_INFO * pFrameInfo, long nReserved1,long nReserved2)
// 返回值类型是:void
// 函数参数是:"long nPort......long nReserved2"
// 请问函数名是什么?(CALLBACK* DecCBFun)?
// 是不是问题出在这里?
[/code]
从函数名来看,像是仅仅设置了一个回调函数,可能没有执行
楼主再检查一下dll说明
那 CALLBACK* 是什么?你确定 (CALLBACK* DecCBFun) 直接转成 DecCBFun 正确?