开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 5444|回复: 22
打印 上一主题 下一主题
收起左侧

[易语言纯源码] 线程里面列表框 标签调用反馈用法/高级表格线程防崩溃

[复制链接]
结帖率:98% (144/147)
跳转到指定楼层
楼主
发表于 2021-5-31 22:51:07 | 只看该作者 回帖奖励 |正序浏览 |阅读模式   重庆市重庆市
分享源码
界面截图:
是否带模块: 纯源码
备注说明: -
本帖最后由 独倚斜阳 于 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倍,高级表格的没测试
  
SetProcessAffinityMask (-1, 1)  ' 完美
' SetProcessAffinityMask 设置进程CPU相关性 参数设置 (2018-01-05 18:39:48)转载▼
' 标签: setprocessaffinityma it 分类: API
' SetProcessAffinityMask
' 参数一:进程句柄    -1为自身句柄
' 参数二:指定CPU
' 参数二的设置是二进制转十进制。参数二需填写十进制数字
' 例如我想设置
' 1CPU二进制为1 转换为十进制为 1
' 2CPU二进制为10 转换为十进制为 2
' 3CPU二进制为100 转换为十进制为 4
' 4CPU二进制为1000 转换为十进制为 8
' 1,2CPU二进制为11 转换为十进制为 3
' 3,4CPU二进制为1100 转换为十进制为 12
' 123CPU二进制为1110 转换为十进制为 14
' 1234CPU二进制为1111 转换为十进制为 15



2,线程里面测试用超级列表框写入数据 比非线程慢很多 显示到列表框很慢  线程里面调用标签反馈  相当于 写入操作是在主线程/非线程里面进行的。
高级表格线程里面会崩溃  全部删除或者增加减少行 插入之类的操作会崩溃  同理可以这样处理  置数据不会崩溃 其他高级表格选择框按钮之类的没有测试过

  
子程序名返回值类型公开备 注
_标签1_反馈事件整数型 
参数名类 型参考可空数组备 注
参数一整数型
参数二整数型
超级列表框_导入文本 (超级列表框1, , 集_文本, “----”, 2, 真, 局_耗时2, , 局_构造耗时2)
子程序名返回值类型公开备 注
_按钮1_被单击  
标签1.调用反馈事件 (, , )


超级列表框导入.e (17.57 KB, 下载次数: 44)
刚才看到其他大佬的处理方法 好像线程里面操作高级列表没问题了?谁数据多的试一下

我自己测试 增加减少行 几分钟没问题清空数据命令 不行 刷新数据的同时乱拖滚动条几下就崩溃了

  
DLL命令名返回值类型公开备 注
API_SendMessage 
DLL库文件名:
 
在DLL库中对应命令名:
SendMessageA
参数名类 型传址数组备 注
窗口句柄整数型
标识整数型
消息1整数型
消息2整数型


  
API_SendMessage (高级表格.取窗口句柄 (), 11, 0, 0)  ' 禁止重画  /
’----------------------
’执行操作 增加删除行 置数据
‘----------------------
API_SendMessage (高级表格_可转债.取窗口句柄 (), 11, 1, 0)  ' 允许重画
高级表格.重画 ()


i支持库列表   支持库注释   
eGrid高级表格支持库


单线程里面用  多线程自己处理许可

补充:API sendmessage  线程里面操作高级列表 按上面方式 会有时候显示不出来高级列表更新的内容
我换成了 允许重画 禁止重画  刷新显示  目前不用清空数据和插入 几个小时没发现问题







补充内容 (2021-6-2 16:08):
我开始可能弄错了  这个亲和性是加到线程子程序里面的第一行 这样速度就和非线程一样快了  加到启动窗口似乎有问题不定时闪退

评分

参与人数 4好评 +2 精币 +8 收起 理由
Lzuy1 + 1 开源精神必须支持~
ghost12 + 1 支持开源~!感谢分享
易语言资源网 + 1 + 3 支持开源~!感谢分享
冰点 + 1 + 3 感谢分享,很给力!~

查看全部评分


结帖率:98% (144/147)
来自 6楼
 楼主| 发表于 2021-6-2 19:56:17 | 只看该作者   重庆市重庆市
本帖最后由 独倚斜阳 于 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 枚

回复 支持 反对

使用道具 举报

21
发表于 2024-11-25 20:11:57 | 只看该作者   江苏省苏州市
高级表格线程崩溃
回复 支持 反对

使用道具 举报

签到天数: 1 天

20
发表于 2024-11-9 20:26:47 | 只看该作者   广东省深圳市
试试效果试试效果试试效果试试效果试试效果试试效果试试效果
回复 支持 反对

使用道具 举报

结帖率:60% (3/5)

签到天数: 4 天

19
发表于 2024-8-18 11:24:58 | 只看该作者   广东省深圳市
禁止重画
回复 支持 反对

使用道具 举报

结帖率:80% (4/5)
18
发表于 2023-8-20 22:06:13 | 只看该作者   山东省青岛市
看看效果怎么样
回复 支持 反对

使用道具 举报

结帖率:80% (4/5)
17
发表于 2023-8-20 22:05:53 | 只看该作者   山东省青岛市
学习一下,
回复 支持 反对

使用道具 举报

结帖率:100% (8/8)
16
发表于 2023-8-12 22:42:03 | 只看该作者   广东省广州市
独倚斜阳 发表于 2021-6-2 19:56
最终解决办法,高级表格线程崩溃

1,高级表格.发送消息(11,0,0)'禁止重绘        同首页我发的那个api   ...

谢谢大哥,针对线程崩溃用禁止重画确实有效解决了
回复 支持 反对

使用道具 举报

结帖率:79% (27/34)

签到天数: 9 天

15
发表于 2022-3-3 03:01:31 | 只看该作者   上海市上海市
我读书少,不要骗我
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)
14
发表于 2021-6-12 23:17:55 | 只看该作者   福建省漳州市

感谢分享,很给力!~
回复 支持 反对

使用道具 举报

结帖率:98% (144/147)
13
 楼主| 发表于 2021-6-4 19:38:30 | 只看该作者   重庆市重庆市
爱易编程 发表于 2021-6-4 18:40
最简单的测试,用多线程调用浏览器组件打开一个不存在的网页,你看看界面卡不卡,如果是多线程,界面不会卡 ...

我没用标签 就是怕这个  我还是用的高级表格  用的发送消息   另外表格放外形框里 外形框放选择夹里

7*24小时 一直运行 2天了没问题
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:[email protected]
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表