高手们,还是这个大华的netsdk,问题让人太难受了

syl5005 2012-11-13 09:24:31
几天时间好不容易用它的sdk把程序给能出来了,现在又出现这个问题,高手们能给看看什么原因吗?我快奔溃啦。

进入界面没有问题初始化sdk也没有问题,只有就奔溃了,没有任何提示

代码是:


系统奔溃的地方是:


我首先在模块中

'状态侦听API
Public Declare Function CLIENT_StartListenEx Lib "dhnetsdk.dll" _
(ByVal lLoginID As Long) As Long

'消息回调API
Public Declare Function CLIENT_SetDVRMessCallBack Lib "dhnetsdk.dll" (ByVal fMessCallBack As Long, _
ByVal dwUser As Long) As Long

然后系统中

Call CLIENT_StartListenEx(hLoginId) '侦听
Call CLIENT_SetDVRMessCallBack(PtrToLong(AddressOf MessFunc), 0) '消息回调

另一个模块中的消息回调函数就是第一个图的代码,

初始化,登录都没有问题,用 MessFunc 这个消息回调函数时,能运行几次,然后系统就自动关闭了。

高手们看看什么问题,或者怎么样知道报的什么错误。

调试的时候好像不会处错误(除非停止调试后,vb编辑器大部分时候会没有原因的退出),但是打包以后,程序到用 MessFunc 这个消息回调函数时 肯定会自动关闭。
...全文
1484 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
syl5005 2012-11-14
  • 打赏
  • 举报
回复
谢谢,提醒,最后发现转当前小时的问题。
c_cyd2008 2012-11-13
  • 打赏
  • 举报
回复
1、把回调函数内容注释了,确定调用空回调不会崩溃; 2、你回调内有几个分支,分别注释了,看看问题出在那个分支; 3、你代码的写法中存在一些隐患,如Form1.begi.Text>2,虽然VB会把Text作隐式转换,但一但转换不成功就会报错,比如为空等等,而一旦出错,在回调中就是灾难性的,只有崩溃,所以还是显式转换后再比较。(回调中不要指望会弹出错误提示,有提示就崩溃,错误处理一定要做好,否则死了都不知道是什么原因)

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧