开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 1904|回复: 14
收起左侧

[已解决] 多线程问题请教大神,谢谢!

 关闭 [复制链接]
结帖率:100% (11/11)
发表于 2019-11-4 16:33:52 | 显示全部楼层 |阅读模式   广东省东莞市
5精币
启动线程 (&一楼, , )
启动线程 (&二楼, , )
....
像这样的为什么启动后会弹出:

运行时出错!
错误信息:指定窗口或窗口组件不存在或尚未载入
1375797558,100729468
“”
“”


单独一条如:
启动线程 (&一楼, , )
就不会有问题。别的线程同理。

子线程中有全局数组变量,变量进到子线程中是不改变其值的,只是调用数组中的内容。
子线程中还有多条mysql,和循环。

请问大神这该如何办?

最佳答案

查看完整内容

代码问题,你的子程序1对组件做了什么操作。导致子程序2里找不到。然后就报错了 补充内容 (2019-11-4 16:47): 可以加个许可证限制一下同时操作

点评

代码在下方   广东省东莞市  发表于 2019-11-5 08:42

回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值
结帖率:100% (1/1)
发表于 2019-11-4 16:33:53 | 显示全部楼层   广东省东莞市
代码问题,你的子程序1对组件做了什么操作。导致子程序2里找不到。然后就报错了

补充内容 (2019-11-4 16:47):
可以加个许可证限制一下同时操作

评分

参与人数 1荣誉 +1 收起 理由
笨潴 + 1 热心帮助他人,荣誉+1,希望继续努力(*^__^*) 嘻嘻!

查看全部评分

回复

使用道具 举报

结帖率:100% (11/11)

签到天数: 1 天

 楼主| 发表于 2019-11-4 16:45:44 | 显示全部楼层   广东省东莞市
加个
延时 (80)
居然可以了...
是不是说加了等于线程都处理完毕了再下一条线程?
这样的话,好像也没有意义了吧?
回复

使用道具 举报

结帖率:100% (11/11)

签到天数: 1 天

 楼主| 发表于 2019-11-4 16:54:51 | 显示全部楼层   广东省东莞市
只会易语言 发表于 2019-11-4 16:47
代码问题,你的子程序1对组件做了什么操作。导致子程序2里找不到。然后就报错了

补充内 ...

每一条线程对应的都不是同一组件,有两条线程分别对应不同的柱状图控件,还有一条线程对应高级表格,都是独立组件,多线程之间没有重复操作同一组件。唯有重复的可能就是全局用的数据库连接用的一个子程序吧,至于全局数组,那不同线程对应的数组也不一样,不重复。
回复

使用道具 举报

结帖率:100% (1/1)
发表于 2019-11-4 17:31:29 | 显示全部楼层   广东省东莞市
jcos 发表于 2019-11-4 16:54
每一条线程对应的都不是同一组件,有两条线程分别对应不同的柱状图控件,还有一条线程对应高级表格,都是 ...

那就不清楚了,猜不出来
回复

使用道具 举报

发表于 2019-11-4 17:41:32 | 显示全部楼层   陕西省榆林市
多綫程是在哪裏啓動的,
是在啓動窗口創建完畢事件下麽?
你放到按鈕事件下。
回复

使用道具 举报

结帖率:88% (15/17)

签到天数: 1 天

发表于 2019-11-4 21:27:06 | 显示全部楼层   四川省成都市
建议你先把源码放上来看看
回复

使用道具 举报

结帖率:100% (11/11)

签到天数: 1 天

 楼主| 发表于 2019-11-5 08:35:59 | 显示全部楼层   广东省东莞市
列明 发表于 2019-11-4 17:41
多綫程是在哪裏啓動的,
是在啓動窗口創建完畢事件下麽?
你放到按鈕事件下。

是在创建完毕后的
回复

使用道具 举报

结帖率:100% (11/11)

签到天数: 1 天

 楼主| 发表于 2019-11-5 08:40:47 | 显示全部楼层   广东省东莞市
  
窗口程序集名保 留  保 留备 注
窗口程序集_耗材报表   
子程序名返回值类型公开备 注
_耗材报表_创建完毕  
如果真 (数据连接 ≤ 0)
数据连库 ()

启动线程 (&部门图柱, , )
延时 (80)
启动线程 (&耗材明细表, , )
延时 (15)
启动线程 (&耗材图柱, , )
子程序名返回值类型公开备 注
部门图柱  
变量名类 型静态数组备 注
整数型 
循环次数整数型 
统计整数型 
月统计整数型 
当前月文本型 
上一月文本型 
上二月文本型 
N整数型 
N = 取启动时间 ()
当前月 = 到文本 (取年份 (增减时间 (取现行时间 (), #月份, 0)))“-”到文本 (取月份 (增减时间 (取现行时间 (), #月份, 0)))
上一月 = 到文本 (取年份 (增减时间 (取现行时间 (), #月份, -1)))“-”到文本 (取月份 (增减时间 (取现行时间 (), #月份, -1)))
上二月 = 到文本 (取年份 (增减时间 (取现行时间 (), #月份, -2)))“-”到文本 (取月份 (增减时间 (取现行时间 (), #月份, -2)))
柱图.X轴标注数量 = 取数组成员数 (部门列表)
柱图.图例数量 = 3
计次循环首 (柱图.X轴标注数量, 次)
执行SQL语句 (数据连接, “select * from it_haocai WHERE b4='” + 部门列表 []“' and b2>='” + 当前月 + “-1'”)
连接句柄 = 取记录集 (数据连接)
计次循环首 (取记录集行数 (连接句柄), 循环次数)
到指定行 (连接句柄, 循环次数 - 1)
读字段值 (连接句柄, “b7”, 统计)
月统计 = 月统计 + 统计
计次循环尾 ()
柱图.当前X轴标注索引 = 次
柱图.当前图例文字 = 当前月
柱图.当前图例颜色 = 取颜色值 (取随机数 (, ), 取随机数 (, ), 取随机数 (, ))
柱图.当前X轴标注文字 = 部门列表 []
柱图.当前图例索引 = 0
柱图.当前数据值 = 月统计
月统计 = 0
循环次数 = 0
执行SQL语句 (数据连接, “select * from it_haocai WHERE b4='” + 部门列表 []“' and b2>='” + 上一月 + “-1' and b2<'” + 当前月 + “-1'”)
连接句柄 = 取记录集 (数据连接)
计次循环首 (取记录集行数 (连接句柄), 循环次数)
到指定行 (连接句柄, 循环次数 - 1)
读字段值 (连接句柄, “b7”, 统计)
月统计 = 月统计 + 统计
计次循环尾 ()
柱图.当前图例索引 = 1
柱图.当前图例文字 = 上一月
柱图.当前数据值 = 月统计
月统计 = 0
循环次数 = 0
执行SQL语句 (数据连接, “select * from it_haocai WHERE b4='” + 部门列表 []“' and b2>='” + 上二月 + “-1' and b2<'” + 上一月 + “-1'”)
连接句柄 = 取记录集 (数据连接)
计次循环首 (取记录集行数 (连接句柄), 循环次数)
到指定行 (连接句柄, 循环次数 - 1)
读字段值 (连接句柄, “b7”, 统计)
月统计 = 月统计 + 统计
计次循环尾 ()
柱图.当前图例索引 = 2
柱图.当前图例文字 = 上二月
柱图.当前数据值 = 月统计
次 = 次 + 1
月统计 = 0
循环次数 = 0
计次循环尾 ()
柱图.Y轴单位 = 到文本 ( (取启动时间 () - N) ÷ 1000)“S”
调试输出 (“结束”)
子程序名返回值类型公开备 注
耗材图柱  
变量名类 型静态数组备 注
整数型 
循环次数整数型 
统计整数型 
月统计整数型 
当前月文本型 
上一月文本型 
上二月文本型 
N整数型 
N = 取启动时间 ()
当前月 = 到文本 (取年份 (增减时间 (取现行时间 (), #月份, 0)))“-”到文本 (取月份 (增减时间 (取现行时间 (), #月份, 0)))
上一月 = 到文本 (取年份 (增减时间 (取现行时间 (), #月份, -1)))“-”到文本 (取月份 (增减时间 (取现行时间 (), #月份, -1)))
上二月 = 到文本 (取年份 (增减时间 (取现行时间 (), #月份, -2)))“-”到文本 (取月份 (增减时间 (取现行时间 (), #月份, -2)))
耗材柱图.X轴标注数量 = 取数组成员数 (耗材列表)
耗材柱图.图例数量 = 3
计次循环首 (耗材柱图.X轴标注数量, 次)
执行SQL语句 (数据连接, “select * from it_haocai WHERE b5='” + 耗材列表 []“' and b2>='” + 当前月 + “-1'”)
连接句柄 = 取记录集 (数据连接)
计次循环首 (取记录集行数 (连接句柄), 循环次数)
到指定行 (连接句柄, 循环次数 - 1)
读字段值 (连接句柄, “b7”, 统计)
月统计 = 月统计 + 统计
计次循环尾 ()
耗材柱图.当前X轴标注索引 = 次
耗材柱图.当前图例文字 = 当前月
耗材柱图.当前图例颜色 = 取颜色值 (取随机数 (, ), 取随机数 (, ), 取随机数 (, ))
耗材柱图.当前X轴标注文字 = 耗材列表 []
耗材柱图.当前图例索引 = 0
耗材柱图.当前数据值 = 月统计
月统计 = 0
循环次数 = 0
执行SQL语句 (数据连接, “select * from it_haocai WHERE b5='” + 耗材列表 []“' and b2>='” + 上一月 + “-1' and b2<'” + 当前月 + “-1'”)
连接句柄 = 取记录集 (数据连接)
计次循环首 (取记录集行数 (连接句柄), 循环次数)
到指定行 (连接句柄, 循环次数 - 1)
读字段值 (连接句柄, “b7”, 统计)
月统计 = 月统计 + 统计
计次循环尾 ()
耗材柱图.当前图例索引 = 1
耗材柱图.当前图例文字 = 上一月
耗材柱图.当前数据值 = 月统计
月统计 = 0
循环次数 = 0
执行SQL语句 (数据连接, “select * from it_haocai WHERE b5='” + 耗材列表 []“' and b2>='” + 上二月 + “-1' and b2<'” + 上一月 + “-1'”)
连接句柄 = 取记录集 (数据连接)
计次循环首 (取记录集行数 (连接句柄), 循环次数)
到指定行 (连接句柄, 循环次数 - 1)
读字段值 (连接句柄, “b7”, 统计)
月统计 = 月统计 + 统计
计次循环尾 ()
耗材柱图.当前图例索引 = 2
耗材柱图.当前图例文字 = 上二月
耗材柱图.当前数据值 = 月统计
次 = 次 + 1
月统计 = 0
循环次数 = 0
计次循环尾 ()
耗材柱图.Y轴单位 = 到文本 ( (取启动时间 () - N) ÷ 1000)“S”
调试输出 (“结束”)
子程序名返回值类型公开备 注
耗材明细表  
变量名类 型静态数组备 注
循环次数整数型 
取数据文本型8
索引整数型 
' N = 取启动时间 ()
执行SQL语句 (数据连接, “select * from it_haocai WHERE b2>='”到文本 (取年份 (取现行时间 ()))“-”到文本 (取月份 (取现行时间 ()))“-1'”)
连接句柄 = 取记录集 (数据连接)
明细表.行数 = 取记录集行数 (连接句柄) + 1
计次循环首 (取记录集行数 (连接句柄), 循环次数)
到指定行 (连接句柄, 循环次数 - 1)
读字段值 (连接句柄, “b2”, 取数据 [1])
读字段值 (连接句柄, “b3”, 取数据 [2])
读字段值 (连接句柄, “b4”, 取数据 [3])
读字段值 (连接句柄, “b5”, 取数据 [4])
读字段值 (连接句柄, “b6”, 取数据 [5])
读字段值 (连接句柄, “b7”, 取数据 [6])
读字段值 (连接句柄, “b8”, 取数据 [7])
读字段值 (连接句柄, “b9”, 取数据 [8])
索引 = 索引 + 1
明细表.置数据 (索引, 0, 1, 取数据 [1])
明细表.置数据 (索引, 1, 1, 取数据 [2])
明细表.置数据 (索引, 2, 1, 取数据 [3])
明细表.置数据 (索引, 3, 1, 取数据 [4])
明细表.置数据 (索引, 4, 1, 取数据 [5])
明细表.置数据 (索引, 5, 1, 取数据 [6])
明细表.置数据 (索引, 6, 1, 取数据 [7])
明细表.置数据 (索引, 7, 1, 取数据 [8])
计次循环尾 ()
子程序名返回值类型公开备 注
_耗材报表_可否被关闭逻辑型 
耗材报表.可视 = 假
主窗口.维护按钮.选中 = 假
返回 ()
子程序名返回值类型公开备 注
_重新加载_被选择  
耗材报表.销毁 ()
处理事件 ()
载入 (耗材报表, , )
返回 ()
子程序名返回值类型公开备 注
_耗材报表_鼠标右键被放开逻辑型 
参数名类 型参考可空数组备 注
横向位置整数型
纵向位置整数型
功能键状态整数型
弹出菜单 (菜单, , )
子程序名返回值类型公开备 注
_耗材报表_尺寸被改变  
如果真 (耗材报表.位置 = 3)
柱图.宽度 = 耗材报表.宽度 - 15
耗材柱图.宽度 = 耗材报表.宽度 - 15
明细表.宽度 (耗材报表.宽度 - 15) ÷ 2
统计表.宽度 (耗材报表.宽度 - 15) ÷ 2 - 5
统计表.左边 (耗材报表.宽度 - 15) ÷ 2 + 10
统计表.高度 = 耗材报表.高度 - 360
明细表.高度 = 耗材报表.高度 - 360
返回 ()
如果真 (耗材报表.位置 = 0)
柱图.宽度 = 985
耗材柱图.宽度 = 985
明细表.宽度 = 490
统计表.宽度 = 490
统计表.高度 = 335
明细表.高度 = 335
统计表.左边 = 500
耗材报表.左边 (取屏幕宽度 () - 1000) ÷ 2
耗材报表.顶边 (取屏幕高度 () - 700) ÷ 2
返回 ()


i支持库列表   支持库注释   
EThread多线程支持库
EChartBar数据图表支持库
mysqlMySql支持库
spec特殊功能支持库
eGrid高级表格支持库



这是代码,请大神帮忙看下。
其中数据连接,这个是全局连接mysql的变量,用一个子程序装着的。
暂时三条线程,单独用哪一条都正常。
回复

使用道具 举报

结帖率:100% (11/11)

签到天数: 1 天

 楼主| 发表于 2019-11-5 08:41:49 | 显示全部楼层   广东省东莞市
yiran5875 发表于 2019-11-4 21:27
建议你先把源码放上来看看

代码放上来了,麻烦帮忙看下,谢谢。
回复

使用道具 举报

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

本版积分规则 致发广告者

关闭

精易论坛 - 有你更精彩上一条 /1 下一条

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

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

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