leishiling 2019-11-27 09:27 采纳率: 0%
浏览 236

c#调用c++的dll文件时,存在调用继承了另一个类的回到函数如何调用?

图片说明
在调用此回调函数时,写了委托但是没有调用成功

下面是委托代码

    [UnmanagedFunctionPointerAttribute(CallingConvention.StdCall, CharSet = CharSet.Ansi)]
    public  delegate void CCallbackImp(int nEventID, structure.CR_Event pEvent);

下面是调用dll注册回到函数代码

 [DllImport(@"CRInterface.dll", CallingConvention = CallingConvention.StdCall, EntryPoint = "CR_RegisterEventCallback")]
        public extern unsafe static int CR_RegisterEventCallback(CCallbackImp pCallback);

回调函数具体代码

 public static void CallBackFunction(int nEventID, structure.CR_Event pEvent)
        {
            MessageBox.Show("进入回调函数"+nEventID.ToString());
            if (nEventID == (int)structure.CR_EventID.CR_EVT_NEW_FRAME)
            {
                MessageBox.Show(nEventID.ToString());
            }
        }

接口原理是当执行以下代码是,dll会自动调用回调函数,然后执行会到函数中的代码

         resultprop = ImportDll.CR_StartAcquisition(cDETR_IDX, cFRM_NUM,(IntPtr) nBufSize, 1);

但是最后不知道哪儿错误了,么有进入回调函数中

  • 写回答

1条回答 默认 最新

  • chenbeifang 2019-12-05 13:35
    关注

    public delegate void CCallbackImp ();
    CCallBackImp=new CCallbackImp(CCallBackImp);

    评论

报告相同问题?

悬赏问题

  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据