本帖最后由 独倚斜阳 于 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):
我开始可能弄错了 这个亲和性是加到线程子程序里面的第一行 这样速度就和非线程一样快了 加到启动窗口似乎有问题不定时闪退 |