TC官方合作论坛

标题: 我一个循环在跑了800-900次循环后会莫名停止 [打印本页]

作者: zcywbd    时间: 2017-8-31 10:43
标题: 我一个循环在跑了800-900次循环后会莫名停止
本帖最后由 zcywbd 于 2017-8-31 11:03 编辑

一个while循环,大概代码是这样的:利用懒人插件读取EXCEL表有多少行。
循环(RCount>1)
                读取EXCEL表中的指定单元格作为查询内容                 记录操作(鼠标、键盘操作,查询)
                  判断体(判断某位置有没有黑色,有则表示有记录信息,大漠识字认出,写入EXCEL表指定位置。)
                 保存EXCEL表
        RCount=RCount-1
        调试输出(RCount)
结束

因为我记录大概有4.5W条,调试输出后,大概运行了854条左右就停止了,我反复检查了代码,也不懂它为啥会停止,是完全没有反应的停止。我点击了暂停线程,停止线程也没反应,重新运行脚本,跑了915次,又停止了。不知道什么原因。有人帮我分析分析吗?
我不太明白,影响循环的,就是RCount>1这个条件了,但这个条件,我调试输出了这个条件,并没有小于-1。所以它应该是可以被执行的,结果却不能继续执行。如果有问题,为什么一会854条记录就停止了,一会又915条又停止了。不但是鼠标键盘停止了动作,调试输出的窗口也没有新的记录了。

另外它运行到800-900次才会报错。平常它一直很正常。所以如果下断点,那不是要等800多次?有啥办法?







作者: 15910791922    时间: 2017-8-31 10:55
我以前也遇到这个问题,加Q 2488834890 我帮你解决
作者: zcywbd    时间: 2017-8-31 11:05
15910791922 发表于 2017-8-31 10:55
我以前也遇到这个问题,加Q 2488834890 我帮你解决

为啥不能在这里说呢。大家交流交流啊,也帮助到后面的朋友。
作者: 爱上老公    时间: 2017-8-31 11:46
循环就循环真就好
里边再搞个判断语句跳出
这个比较稳妥点
作者: zcywbd    时间: 2017-8-31 12:01
爱上老公 发表于 2017-8-31 11:46
循环就循环真就好
里边再搞个判断语句跳出
这个比较稳妥点

好,我试试这个办法。。
作者: zcywbd    时间: 2017-8-31 13:50
爱上老公 发表于 2017-8-31 11:46
循环就循环真就好
里边再搞个判断语句跳出
这个比较稳妥点

我刚试过这方法了,还是会停止。。。
作者: 花落莫相离    时间: 2017-8-31 14:35
用遍历呢,或者把循环加到线程里试试
作者: zcywbd    时间: 2017-8-31 14:42
花落莫相离 发表于 2017-8-31 14:35
用遍历呢,或者把循环加到线程里试试

我马上试试,我心里隐隐的觉得,感觉不是循环的问题。。。
作者: zcywbd    时间: 2017-8-31 16:39
果然还是不行。。。用了遍历也不行。。。难道是大漠插件识字有次数限制?系统一直卡在识字的过程中了?
作者: 爱上老公    时间: 2017-9-1 14:55
zcywbd 发表于 2017-8-31 16:39
果然还是不行。。。用了遍历也不行。。。难道是大漠插件识字有次数限制?系统一直卡在识字的过程中了? ...

怎么可能?
作者: zcywbd    时间: 2017-9-1 15:43
爱上老公 发表于 2017-9-1 14:55
怎么可能?

我安了很多调试输出,发现它停留在TC的“找色”这个命令,就无法执行下去了,不知道什么原因,运行了800多遍,才卡在这里。
作者: 15910791922    时间: 2017-9-2 10:50
卡死你都不亏,给你条路你不走,继续卡着吧,没准卡几年就上路了
作者: zcywbd    时间: 2017-9-2 10:57
15910791922 发表于 2017-9-2 10:50
卡死你都不亏,给你条路你不走,继续卡着吧,没准卡几年就上路了

别骂完就走啊,兄弟,我确实是初学者,骂我我接受,总得让我知道为啥把。。。真心求教啊。。
作者: zcywbd    时间: 2017-9-5 10:21
谢谢大家的关心回复,我终于找到原因了,因为我的循环体里加了大漠插件的识字命令,而识字命令我为了避免麻烦,自己做了个功能,放在功能里了。。。所以引起了不稳定。现在取消了功能,直接调用,没有出现问题了,现在都跑了2500多个了。应该是这个原因。
作者: konghx    时间: 2017-9-6 22:25
可以问个问题不,多线程可以让鼠标同一时刻点击不同的文本框,然后键盘同时发送不同的字符串到这两个文本框呢?
作者: zcywbd    时间: 2017-9-7 08:40
konghx 发表于 2017-9-6 22:25
可以问个问题不,多线程可以让鼠标同一时刻点击不同的文本框,然后键盘同时发送不同的字符串到这两个文本框 ...

多线程我还没用过。。。但是应该是可以用过“句柄”发送的方式发出的。
作者: seaelf    时间: 2017-9-13 16:13
var i=0
while(true)
      i=i+1
      调试输出(i)
  end
并没哟楼主说的循环了多少次之后就卡死的情况,你可以复制上面的代码试试
作者: seaelf    时间: 2017-9-13 16:15
所以不是循环出问题,而是在于你读取excel表格的过程中出问题卡死了
作者: zcywbd    时间: 2017-9-15 10:51
seaelf 发表于 2017-9-13 16:15
所以不是循环出问题,而是在于你读取excel表格的过程中出问题卡死了

是的,是调取插件的代码导致的。大漠的代码我做到功能里去了,可能不稳定,换成直接调用,就好了




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1