HPSocket tcp封装有BUG?
本帖最后由 q472448760 于 2025-9-24 06:55 编辑只要TPC连接上,且加上了"HP_TCP安全客户端_通信发生错误"事件(不加此事件不会报错),关闭窗口就会报错:
但是TCP没连上的话,就不会有问题!
其次如果连上了,在窗口销毁事件加上,停止 就会卡住不会退出!
测试:HP_TCP安全客户端 有问题,HP_TCP客户端则没有这个问题!
这不是封装问题吗??? 因为这个事件是异步的,你关闭主窗口后,它还在发送事件到主窗口,由于主窗口已经被销毁了,自然就报错。应该在关闭主窗口前结束掉客户端。
停止也是,HP客户端的大部分操作都是异步的,如果窗口先销毁就可能会出问题。 Xelloss0618 发表于 2025-9-24 17:32
因为这个事件是异步的,你关闭主窗口后,它还在发送事件到主窗口,由于主窗口已经被销毁了,自然就报错。应 ...
到位!! 起始也不用刻意调用这个方法,如果窗口关闭了,会自动停止的。 Xelloss0618 发表于 2025-9-24 17:32
因为这个事件是异步的,你关闭主窗口后,它还在发送事件到主窗口,由于主窗口已经被销毁了,自然就报错。应 ...
我知道是主窗口被销毁了 导致的,那放在即将销毁 算吗!所以我问是不是封装有问题。而且我不停止,带上这个事件就有问题 本帖最后由 q472448760 于 2025-9-24 22:21 编辑
放在我的主窗口_可否被关闭事件是正常的 创世魂 发表于 2025-9-24 18:20
起始也不用刻意调用这个方法,如果窗口关闭了,会自动停止的。
带上这个事件,关闭窗口,不停就直接就报错,停就卡住主线程 q472448760 发表于 2025-9-24 22:17
我知道是主窗口被销毁了 导致的,那放在即将销毁 算吗!所以我问是不是封装有问题。而且我不停止,带上这 ...
有两处地方可以改善一下:
<火山程序 类型 = "通常" 版本 = 1 />
取消事件挂接 (TCP) // 先取消事件,就没有发送事件的后续问题了
TCP.停止 ()
判断循环 (TCP.当前状态 != HP状态.已经停止) // 相当于转换成同步命令,确保客户端在关闭主窗口之前已经停止
{
界面延时 (100)
}
看看把!之前好像没发现有这问题。。。
		页: 
[1] 
2