将海康视频sdk源码封装成控件

本文记录了将海康视频服务器SDK的大量源码简化并封装成控件的过程,包括删除冗余控件、处理资源编译错误、改造App类、解决内存错误以及GDI+的应用。最终成功创建了一个符合客户需求的视频控件。
摘要由CSDN通过智能技术生成

         近日有一个客户想要做一个视频控件,指明要用海康的视频服务器,并提供给我一个SDK演示程序,是一个对话框,上面布满了大大小小的按钮、菜单等控件,我拿过来一看,好,有十多万行源码,好在客户要求的功能不多,只有一个录像功能。

       我就在源码里面删控件,最后总算弄得非常简单明了。后面的问题来了,如何把这个对话框封装成控件呢,根据我的经验,在控件中可以嵌入对话框程序,网上也有例子,但那是在ActiveX控件工程中添加的对话框,要把一个对话框应用程序的例子中的对话框加到ActiveX控件中,还不太好加,何况这个对话框程序中有上百个小的对话框。

       单单把这些对话框资源导到ActiveX控件中,就够折腾一气的,导完了,一编译,出现了非常少见的资源编译错误,无法解决。没办法,只得一个一个把需要的对话框添加到工程中,一步一编译。

    接下来是对App类的改造,把原先在对话框App中的代码,以及包含的头文件都加到控件的App中,在控件类中加入主对话框做为成员变量,编译通过了,运行的时候,出现内存错误,然后断到一个创建主对话框的MFC源码处,接下来反复下断点,甚至注释掉主对话框中几乎所有的成员函数,程序一如即往地出现内存错误,所有的断点都断不下来,即使是把控件类中的主对话框成员变量去掉,还是一样&

海康威视硬盘录像机SDK二次开发C#专用封装包,基于农民伯伯的源码修改,因之前有很多错误的地址,目前完了一半左右 目前修改完结构体如下: 获取设备参数:NET_DVR_DEVICECFG ok 获取时间参数:NET_DVR_TIME ok 获取网络参数:NET_DVR_NETCFG_V30 ok 网络参数相关: NET_DVR_IPADDR ok NET_DVR_PPPOECFG ok NET_DVR_ETHERNET_V30 ok 获取图像参数:NET_DVR_PICCFG_V30 ok 图像参数相关: NET_DVR_COLOR ok NET_DVR_VILOST_V30 ok NET_DVR_HANDLEEXCEPTION_V30 okv NET_DVR_SCHEDTIME okv NET_DVR_MOTION_V30 okv NET_DVR_HANDLEEXCEPTION_V30 okv NET_DVR_SCHEDTIME okv NET_DVR_HIDEALARM_V30 okv NET_DVR_HIDEALARM_V30 okv NET_DVR_SHELTER okv 获取压缩参数:NET_DVR_COMPRESSIONCFG_V30 okv NET_DVR_COMPRESSION_INFO_V30 okv 获取录像参数:NET_DVR_RECORD_V30 okv NET_DVR_RECORDDAY okv NET_DVR_RECORDSCHED okv 获取云台参数:NET_DVR_DECODERCFG_V30 okv 获取232串口参数:NET_DVR_RS232CFG_V30 ok 串口参数相关: NET_DVR_SINGLE_RS232 ok NET_DVR_PPPCFG_V30 ok NET_DVR_IPADDR ok NET_DVR_PPPCFG ok ---------------------------------------------------------------------------------------------------- 获取报警输入参数:NET_DVR_ALARMINCFG_V30 ok 报警输入参数相关: NET_DVR_HANDLEEXCEPTION_V30 ok ---------------------------------------------------------------------------------------------------- 获取报警输出参数:NET_DVR_ALARMOUTCFG_V30 ok 报警输出参数相关: NET_DVR_SCHEDTIME ok ---------------------------------------------------------------------------------------------------- 获取本地预览参数:NET_DVR_PREVIEWCFG_V30 ok ---------------------------------------------------------------------------------------------------- 获取视频输出参数:NET_DVR_VIDEOOUT_V30 ok ---------------------------------------------------------------------------------------------------- 获取用户参数: NET_DVR_USER_V30 ----------------------------------------------------------------------------------------------------- 获取异常参数: NET_DVR_EXCEPTION_V30 ok -----------------------------------------------------------------------------------------------------
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值