精易论坛
标题: 线程里面列表框 标签调用反馈用法/高级表格线程防崩溃 [打印本页]
作者: 独倚斜阳 时间: 2021-5-31 22:51
标题: 线程里面列表框 标签调用反馈用法/高级表格线程防崩溃
本帖最后由 独倚斜阳 于 2021-6-1 02:25 编辑
小白可以看看 很简单的处理
原帖和原始源码在这里是超级列表框主线程和线程调用时间区别 https://125.confly.eu.org/forum.php?mod ... 6%E5%BF%AB%E9%80%9F
本例子 源码加了cpu亲和度 和线程里面利用标签反馈事件
1,CPU亲和度设置,线程里面操作超级列表框的话 我用了这个 机器没负载的情况下 线程里面写入超级列表框的速度大概比非线程慢1倍 如果不用这个线程里面写入超级列表框比非线程慢10倍,高级表格的没测试
2,线程里面测试用超级列表框写入数据 比非线程慢很多 显示到列表框很慢 线程里面调用标签反馈 相当于 写入操作是在主线程/非线程里面进行的。
高级表格线程里面会崩溃 全部删除或者增加减少行 插入之类的操作会崩溃 同理可以这样处理 置数据不会崩溃 其他高级表格选择框按钮之类的没有测试过
|
_标签1_反馈事件 | 整数型 | |
|
参数一 | 整数型 | | | |
参数二 | 整数型 | | | |
超级列表框_导入文本 (超级列表框1, , 集_文本,
“----”, 2, 真, 局_耗时2, , 局_构造耗时2
)标签1.
调用反馈事件 (, ,
)
超级列表框导入.e
(17.57 KB, 下载次数: 44)
刚才看到其他大佬的处理方法 好像线程里面操作高级列表没问题了?谁数据多的试一下
我自己测试 增加减少行 几分钟没问题清空数据命令 不行 刷新数据的同时乱拖滚动条几下就崩溃了
API_SendMessage (高级表格.
取窗口句柄 (), 11, 0, 0
) ’----------------------
’执行操作 增加删除行 置数据
‘----------------------
API_SendMessage (高级表格_可转债.
取窗口句柄 (), 11, 1, 0
) 高级表格.
重画 ()
单线程里面用 多线程自己处理许可
补充:API sendmessage 线程里面操作高级列表 按上面方式 会有时候显示不出来高级列表更新的内容
我换成了 允许重画 禁止重画 刷新显示 目前不用清空数据和插入 几个小时没发现问题
补充内容 (2021-6-2 16:08):
我开始可能弄错了 这个亲和性是加到线程子程序里面的第一行 这样速度就和非线程一样快了 加到启动窗口似乎有问题不定时闪退
作者: zifeiyu 时间: 2021-6-1 08:42
..................................
作者: 枕风宿雪多年 时间: 2021-6-1 11:58
感谢分享
作者: cc66029 时间: 2021-6-2 12:35
感谢分享
作者: sampo 时间: 2021-6-2 19:52
感谢分享,很给力!~
作者: 独倚斜阳 时间: 2021-6-2 19:56
本帖最后由 独倚斜阳 于 2021-6-3 03:25 编辑
最终解决办法,高级表格线程崩溃
1,高级表格.发送消息(11,0,0)'禁止重绘 同首页我发的那个api 调用的是同一个东西
//其他改变行 置数据操作 高级表格.发送消息(11,1,0)'允许重绘
高级表格.重画()
缺点,选择夹,高级选择夹里面的高级列表挡不住会在其他选项卡显示出来,目前用 选择夹里面套一层外形框 外形框里面放高级表格 能解 试了好久
2,用标签反馈 标签反馈里面写
如果参数1=1 那么 禁止重绘 +改变行数 ,行数线程里面用一个程序集或者全局变量去传递
如果参数1=2 那么 允许重绘 刷新显示
暂时没其他好办法了把
-
-
高级表格不崩溃 (1).e
4.41 KB, 下载次数: 77, 下载积分: 精币 -2 枚
作者: superlu 时间: 2021-6-3 17:30
这是学院派的 大佬
现在还是web页面的好用
作者: 独倚斜阳 时间: 2021-6-3 21:42
你说用一个超文本框之类的显示自己构造的网页么- -那构造不会呀
作者: 易造轮 时间: 2021-6-3 23:51
反馈事件是单线程进行的,参考资料:
https://125.confly.eu.org/forum.php?mod=viewthread&tid=14340128
使用标签反馈事件来线程载入窗口说明
作者: 独倚斜阳 时间: 2021-6-4 00:16
老哥给个例子。。。web页面
作者: 爱易编程 时间: 2021-6-4 18:39
不错, 多线程利用标签反馈,根本不是多线程,被欺骗多年了,希望不要造谣了!
作者: 爱易编程 时间: 2021-6-4 18:40
最简单的测试,用多线程调用浏览器组件打开一个不存在的网页,你看看界面卡不卡,如果是多线程,界面不会卡的,但是利用标签反馈的多线程,界面会假死
作者: 独倚斜阳 时间: 2021-6-4 19:38
我没用标签 就是怕这个 我还是用的高级表格 用的发送消息 另外表格放外形框里 外形框放选择夹里
7*24小时 一直运行 2天了没问题
作者: 一尘天下 时间: 2021-6-12 23:17
感谢分享,很给力!~
作者: ghost12 时间: 2022-3-3 03:01
我读书少,不要骗我
作者: Diwu 时间: 2023-8-12 22:42
谢谢大哥,针对线程崩溃用禁止重画确实有效解决了
作者: sgk324 时间: 2023-8-20 22:05
学习一下,
作者: sgk324 时间: 2023-8-20 22:06
看看效果怎么样
作者: 爱易编程 时间: 2024-8-18 11:24
禁止重画
作者: HAO641019045 时间: 2024-11-9 20:26
试试效果试试效果试试效果试试效果试试效果试试效果试试效果
作者: dhrjgzs 时间: 2024-11-25 20:11
高级表格线程崩溃
欢迎光临 精易论坛 (https://125.confly.eu.org/) |
Powered by Discuz! X3.4 |