以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  海康摄像机的连接问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=139226)

--  作者:aidimeng
--  发布时间:2019/8/8 15:21:00
--  海康摄像机的连接问题
之前发过类似的求助,之前思路太乱了,现在重新整理下,希望得到大家的帮助  先谢谢了
之前是在网上找的c#代码 现在想依托 海康的例子来做。海康给的例子在c#中可以运行,我也生成了个dll文件

但在实际使用过程中会遇到下面的报错


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20190808151549.png
图片点击可在新窗口打开查看

我把海康的c# 例子放到附件里,里面有 帮助文件
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:1-实时预览示例代码一.rar


生成的dll 文件比较大 不能上传,例子是 海康的源码,只要根据说明 复制下文件就可以使用了

希望得到您的指点

谢谢


[此贴子已经被作者于2019/8/8 15:30:19编辑过]

--  作者:有点蓝
--  发布时间:2019/8/8 15:51:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

--  作者:aidimeng
--  发布时间:2019/8/9 7:56:00
--  
还是提示 未定义的类型
---------------------------
错误
---------------------------
编译错误:未定义类型“PreviewDemo.CHCNetSDK.NET_DVR_DEVICEINFO_V30”。



错误代码:Dim DeviceInfo = New PreviewDemo.CHCNetSDK.NET_DVR_DEVICEINFO_V30()
---------------------------
确定   
---------------------------


--  作者:有点蓝
--  发布时间:2019/8/9 8:38:00
--  
添加PreviewDemo.dll的引用了吗:http://www.foxtable.com/webhelp/topics/1936.htm
--  作者:aidimeng
--  发布时间:2019/8/9 10:11:00
--  
添加引用就报另一个错误了 

System.DllNotFoundException: 无法加载 DLL“..\\bin\\HCNetSDK.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。

   在 PreviewDemo.CHCNetSDK.NET_DVR_Login_V30(String sDVRIP, Int32 wDVRPort, String sUserName, String sPassword, NET_DVR_DEVICEINFO_V30& lpDeviceInfo)

   在 UserCode.Test()




是按照海康帮助弄得 

【注意事项】
------------------------------------
1. 请到海康威视官网下载最新版本设备网络SDK:http://www.hikvision.com/Cn/download_more_401.html

2. 请将设备网络SDK开发包【库文件】里的HCNetSDK.dll、HCCore.dll、HCNetSDKCom文件夹、PlayCtrl.dll、SuperRender.dll、AudioRender.dll、ssleay32.dll、libeay32.dll等文件均拷贝到bin文件夹下。HCNetSDKCom文件夹(包含里面的功能组件dll库文件)需要和HCNetSDK.dll、HCCore.dll一起加载,放在同一个目录下,且HCNetSDKCom文件夹名不能修改。

3. 如果自行开发软件不能正常实现相应功能,而且程序没有指定加载的dll库路径,请在程序运行的情况下尝试删除HCNetSDK.dll。如果可以删除,说明程序可能调用到系统盘Windows->System32目录下的dll文件,建议删除或者更新该目录下的相关dll文件;如果不能删除,dll文件右键选择属性确认SDK库版本。

4. 如按上述步骤操作后还是不能实现相应功能,请根据NET_DVR_GetLastError返回的错误号判断原因。

[此贴子已经被作者于2019/8/9 10:14:19编辑过]

--  作者:有点蓝
--  发布时间:2019/8/9 10:24:00
--  
4楼有让添加其它dll了吗,只需要添加PreviewDemo.dll
--  作者:aidimeng
--  发布时间:2019/8/9 12:44:00
--  
就是仅仅添加后  PreviewDemo.dll 引用后 出现的报错 找不到../bin/  
文件

--  作者:有点蓝
--  发布时间:2019/8/9 13:54:00
--  
改一下1楼的源项目,把所有引用地址的bin路径去掉,如
[DllImport(@"..\\bin\\HCNetSDK.dll")]
改为
[DllImport("HCNetSDK.dll")]

然后重新编译PreviewDemo.dll放到Foxtable安装目录

或者试试把除了 PreviewDemo.dll 以外的dll都复制到C:\\foxtable\\Development\\Bin里面

--  作者:aidimeng
--  发布时间:2019/8/9 15:09:00
--  

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20190809150133.png
图片点击可在新窗口打开查看


 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20190809150301.png
图片点击可在新窗口打开查看


 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20190809150516.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2019/8/9 15:15:00
--  
唉!如果改了源项目,请把所有dll复制到C:\\foxtable\\Development\\

或者干脆C:\\foxtable\\Development\\Bin和C:\\foxtable\\Development\\,2个目录都复制一份吧