精易论坛

标题: 单线程可以运行正常,多线程就运行不了了,哪里出错了... [打印本页]

作者: youyue123    时间: 3 天前
标题: 单线程可以运行正常,多线程就运行不了了,哪里出错了...

像这样单线程的,可以随机生成文字并输入成功

放在多线程里就不行了,输入都是空白的,文字也取不到了

又比如这样单线程的,可以截图并且识别文字,都是成功的

但是放在多线程里就不行了,是我哪里想错打错了吗?问题出在了哪里?有谁能帮我看看吗?

作者: 飞羽软件    时间: 3 天前
ocr载入模型放线程外面执行一次就行,dm多线程下每个都要创建对象
作者: 约定踏雪去看花    时间: 3 天前
dm要创建多个对象,或者你直接将dm设置数组,就能多线程
作者: 浅笑c    时间: 3 天前
1.多线程下不要使用(延迟),应该使用 延时。
2.多线程的大漠对象需要单独创建,由于大漠对象是COM组件,所以你还得在创建大漠对象的子程序头部和尾部分别加上“COM组件初始化” "COM组件取消初始化"之类的命令,精益模块里面搜索COM应该能找到对应的Api调用(注意:哪怕是有返回命令,也得再最后加上 COM反初始化)。
作者: youyue123    时间: 前天 11:06
D:\易语言·N\新建文件夹\QQ_1747450857788
多线程的大漠对象我创建了的,COM组件初始化” "COM组件取消初始化 我在首位也是加上去了的,多线程就是运行没有反应··
作者: youyue123    时间: 前天 11:08
多线程的大漠对象我创建了的,COM组件初始化” "COM组件取消初始化 我在首位也是加上去了的,多线程就是运行没有反应··

QQ_1747450857788.png (18.34 KB, 下载次数: 0)

QQ_1747450857788.png

作者: youyue123    时间: 前天 11:43
浅笑c 发表于 2025-5-16 19:37
1.多线程下不要使用(延迟),应该使用 延时。
2.多线程的大漠对象需要单独创建,由于大漠对象是COM组件, ...


多线程的大漠对象我创建了的,COM组件初始化” "COM组件取消初始化 我在首末位也是加上去了的,就是运行没有反应··

作者: 浅笑c    时间: 前天 11:58
youyue123 发表于 2025-5-17 11:43
多线程的大漠对象我创建了的,COM组件初始化” "COM组件取消初始化 我在首末位也是加上去了的,就是运行 ...

没看到你加了com初始化和取消com初始化。
作者: youyue123    时间: 前天 13:27
浅笑c 发表于 2025-5-17 11:58
没看到你加了com初始化和取消com初始化。


线程初始化我加在了这里

com初始化,取消com初始化我放在了这里

QQ_1747450857788.png (18.34 KB, 下载次数: 0)

QQ_1747450857788.png

作者: 浅笑c    时间: 前天 14:08
youyue123 发表于 2025-5-17 13:27
线程初始化我加在了这里

com初始化,取消com初始化我放在了这里

我说的是你要写到大漠创建的子程序,你这里只是启动线程,并没有创建那个com组件

大漠.创建() 这个才是创建com组件。。。

补充内容 (2025-5-17 14:09):
还有我说的就算有返回,也得在子程序最末尾加上 com取消初始化,而不是说在哪里提前调用。




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4