C# 天敏 SDK3000 二次开发时出的问题?? 求解

news/2024/11/17 3:38:32/

 C# SDK3000 OCX组件二次开发时出的问题?? 求解

这是动态检测触发条件 

private void btnStartTest_Click(object sender, EventArgs e)
        {
            byte[] bytes = new byte[]{1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,25,25,25,25,25,25,25};
            string mapSize = Encoding.ASCII.GetString(bytes);
            Int32 iMotionDetect =  SDK3000ApiClass.GetMotionDetectDelegate();

            axSDK3000.EnableMotionDetect(mapSize, bytes.Length, 10, iMotionDetect);
        
        }

SDK3000ApiClass.GetMotionDetectDelegate();这是获取的指针的结果 如下:

  public static Int32 GetMotionDetectDelegate()
        {


            VCAPrcCbMotionDetectInvoke icPic = new VCAPrcCbMotionDetectInvoke(VCAPrcCbMotionDetect);
            return Marshal.GetFunctionPointerForDelegate(icPic).ToInt32();
        }

这里是委托的声明

 public delegate void VCAPrcCbMotionDetectInvoke(int dwCard, bool bMove, ref int lpContext);

 

下面是委托实例 ,每次调用的时候总是说 引用的内存为written / read 然后就崩溃拉

不知道是不是我的参数有问题,还是委托转指针用的方法不正确,请大家帮我看看,

月底要交项目,急啊,我的QQ:379446670,邮箱:520philip@163.com

请大家帮我看看

        /// <summary>
        /// 动态检测回调
        /// </summary>
        /// <param name="dwCard"></param>
        /// <param name="bMove"></param>
        /// <param name="lpContext"></param>
        public static void VCAPrcCbMotionDetect(int dwCard, bool bMove, ref int lpContext)
        {
            MessageBox.Show("MessageBoxShow!");
        }

*******************************************************************************************

 下面是使用DLL的方式

*******************************************************************************************

Com的方法不行我就改用C++ DLL调用的方法,但是结果还是在这里出问题

 public static int MotionDetectI(int nCards, bool bEnaDetect, byte[] pAreaMap, long nSizeOfMap, long nPersistTime, ref string lpContext)
        {
            VCAPrcCbMotionDetectInvoke icPic = new VCAPrcCbMotionDetectInvoke(VCAPrcCbMotionDetect);
            return VCAEnableMotionDetect(nCards, bEnaDetect, ref pAreaMap,
                nSizeOfMap, nPersistTime,ref lpContext, icPic);
        }

 

 [DllImport("sdk3000_7130.dll")]
        public static extern int VCAEnableMotionDetect(int nCards, bool bEnaDetect,ref byte[] pAreaMap, long nSizeOfMap, long nPersistTime,ref string lpContext, VCAPrcCbMotionDetectInvoke Tp);

 

  public delegate void VCAPrcCbMotionDetectInvoke(int dwCard, bool bMove, ref int lpContext);

 

/// <summary>
        /// 动态检测回调
        /// </summary>
        /// <param name="dwCard"></param>
        /// <param name="bMove"></param>
        /// <param name="lpContext"></param>
        public static void VCAPrcCbMotionDetect(int dwCard, bool bMove, ref int lpContext)
        {
            MessageBox.Show("MessageBoxShow!");
        }

 

Callback的时候老是出问题???

 

希望大家帮帮我,太难拉,搞拉两个星期,都没什么气色 ,月底工期就满拉,急求助


http://www.ppmy.cn/news/578559.html

相关文章

[软件测试] 期末答辩问题

1. 给你一个网站&#xff0c;你该如何测试&#xff1f; &#xff08;1&#xff09;确定测试目标和范围&#xff0c;查找相关文档如需求说明书、网站设计文档等&#xff0c;分析测试需求&#xff08;2&#xff09;制定测试计划&#xff0c;确定测试范围和测试策略&#xff0c;一…

模拟电路系列分享-晶体管的四种状态

目录 概要 整体架构流程 技术名词解释 1.截止状态 2.放大状态 3.饱和状态 4.倒置状态 技术细节 小结 概要 提示&#xff1a;这里可以添加技术概要 晶体管有4种工作状态&#xff0c;分别是截止、放大、饱和&#xff0c;以及倒置。 整体架构流程 提示&#xff1a;这里可以添加…

[补充]托福口语21天——day2 课堂内容

day1 课堂&#xff1a;http://t.csdn.cn/cyvZm day1 语料&#xff1a;http://t.csdn.cn/syTBy 目录 1 时间准备 2 例题 3 答题步骤 3.1 范例 3.2 范例 4 连接词 5 完整回答 5.1 范例 5.2 范例 6 总结 背背背&#xff01; 1. 如今的生活成本非常高。人们要付…

动态规划之下降路径最小和

1. 题目分析 题目链接选自力扣 : 下降路径最小和 如果光看这个题目说明的话, 是有点抽象的. 我们结合实例 1 来看 : 总的来说就是, 起始点是第一行中的任意一点, 每个点只有三个方向可以走即向下, 左下, 右下. 当到达最后一行的任意一点即算作到达终点. 期间不同的路径上不同…

技术问题epic无法启动 任务栏不断的闪 打不开

笔记本 从来没有装过epic 安装后打开一直在任务栏闪烁就是打不开重新下载 换低版本安装包和复制安装后的文件夹打开也是一样。

apk闪退_解决安卓手机闪退的通用办法!

原标题&#xff1a;解决安卓手机闪退的通用办法&#xff01; 丫丫网资讯&#xff0c;很多安卓用户都会反应手机在使用过程中会出现手机闪退问题&#xff0c;今天这个问题也许可以解决了。一起来瞅瞅吧&#xff01; 1、安卓手机由于其系统特性原因&#xff0c;在手机缓存过多的情…

王国纪元服务器不稳定,王国纪元闪退怎么解决 游戏闪退解决方法

王国纪元闪退怎么解决&#xff1f;最近玩家更新游戏之后&#xff0c;经常出现闪退的情况&#xff0c;在这里为你提供闪退解决方法&#xff1a; 游戏闪退解决方法 1、手机系统问题。对于安卓系统现在主流的系统都是4.0以上如果你手机的版本低于2.3.0&#xff0c;那么你该考虑升级…

避难所Android闪退,iOS/安卓版《辐射:避难所》Fallout Shelter攻略:闪退进不去解决办法...

辐射避难所Fallout Shelter闪退进不去解决办法&#xff1a; 1、网络异常 由于《辐射&#xff1a;避难所》(Fallout Shelter)是一款需要联网的游戏&#xff0c;所以如果我们的网络出现异常很容易造成辐射避难所闪退Fallout Shelter进不去的情况出现&#xff0c;如果网络连接异常…