递归火山软件开发平台

标题: 运行时校验失败(940报错) [打印本页]

作者: 绯陌如夏    时间: 2023-12-14 19:01
标题: 运行时校验失败(940报错)
代码十分精简,就是在类中定义HP_tcp客户端组件,关闭窗口的时候 ,编译器调试输出:

运行时校验失败("C:\Program Files\vol_dev\win_android_chs_person\plugins\vprj_win\classlib\sys\base\libs\win_base\cpp\vol_classes.cpp", 940): FALSE

作者: 绯陌如夏    时间: 2023-12-14 19:02
我试过了在类清理中停止HP组件,可是好像没什么用,我插入了调试,发现根本就没运行到类_清理,就报错了
作者: 绯陌如夏    时间: 2023-12-14 19:04
(, 下载次数: 56)

作者: 绯陌如夏    时间: 2023-12-14 19:06
(, 下载次数: 56) 只要插入这个方法,通过关闭窗口的方式退出就会报错,把这个删掉就不会...

作者: Xelloss0618    时间: 2023-12-14 22:02
就是窗口关闭之前会取消事件挂接,但HP还没销毁了,仍在发送事件,这时候事件接收器已经没了,所以就报错。
所以你必须在关闭窗口之前关闭和销毁HP,建议在窗口将被销毁事件里处理,因为取消事件挂接发生在 类_清理 之前。
作者: urenai    时间: 2023-12-14 22:04
具体点:在窗口销毁事件下键入: hp_server..销毁() 还是 释放,什么的忘记了/
作者: 创世魂    时间: 2023-12-14 23:13
本帖最后由 创世魂 于 2023-12-14 23:15 编辑
绯陌如夏 发表于 2023-12-14 19:02
我试过了在类清理中停止HP组件,可是好像没什么用,我插入了调试,发现根本就没运行到类_清理,就报错了 ...

其实不需要这么写,对象销毁后hp会自动释放。。
你虽然说代码非常简单,但是建议直接发一下代码出来看看。。

测试自带案例之类的,不会发生这样的错误。所以肯定还是你的写法有问题。

作者: urenai    时间: 2023-12-15 11:31
创世魂 发表于 2023-12-14 23:13
其实不需要这么写,对象销毁后hp会自动释放。。
你虽然说代码非常简单,但是建议直接发一下代码出来看看。 ...

前面已经跟他讲了,你也可以测试一下。
引用了hp server。
在程序结束时不主动释放hp server的话,他的确会报错。

解决方案 就是 在窗口销毁事件下 主动执行一次hp server 释放
作者: 清水活源    时间: 2023-12-15 11:52
在类_清理里 取消事件挂接()就可以了。
作者: 绯陌如夏    时间: 2023-12-18 14:16
urenai 发表于 2023-12-15 11:31
前面已经跟他讲了,你也可以测试一下。
引用了hp server。
在程序结束时不主动释放hp server的话,他的确 ...

原来如此,感谢解惑
作者: 绯陌如夏    时间: 2023-12-18 14:17
Xelloss0618 发表于 2023-12-14 22:02
就是窗口关闭之前会取消事件挂接,但HP还没销毁了,仍在发送事件,这时候事件接收器已经没了,所以就报错。 ...

原来如此,感谢解惑




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4