作者wjp (Love Mi)
看板C_and_CPP
标题[问题] 请教for回圈问题
时间Thu Feb 27 17:24:39 2020
个位大大好,新手首PO
程式码大概长这样
int filecount; //从预先建立好的filelist.xls抓出来
int i;
for(i=0; i<filecount; i++)
{
A(); //开启档案并show在程式主视窗上
B(); //对已开启的档案做运算
C(); //将B()的运算结果截图存档成 i_result.jpg
}
但是在执行时,若电脑刚好比较忙录,可能会在跑到一半时就卡住了
主画面就一直停在第n个档案,可是程式还是继续在执行…
等到终於不再显示"没有回应"的时候发现
从第n个档案开始,後面虽然档名都有好好命名,但全部都是n的运算结果截图 囧
请问有没有办法在确认A()跟B()都有正确执行完毕,才继续C()的方法
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.163.70.182 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1582795481.A.87B.html
1F:推 BSpowerx: 让A()跟B()都有一个回传值 02/27 18:03
2F:→ joe820730: 不知道你是用什麽环境写GUI,但我的习惯是用一个执行 02/27 20:19
3F:→ joe820730: 绪跑运算,算完再触发一个自定义的事件让主画面更新, 02/27 20:19
4F:→ joe820730: 主画面尽量避免大量运算 02/27 20:19
5F:推 Schottky: 这问题显然不是出在回圈 XDDDD 02/27 22:05
6F:→ wjp: 回楼上,我只是一时不知道该如何形容啦XD 02/27 23:03
7F:→ wjp: 谢谢回覆的大大 我放假回老家了 等礼拜一碰到电脑再来看看 02/27 23:05
8F:推 Romulus: 检查回传 让A和B成功回传true 失败回传false true才执行 02/27 23:33
9F:推 Schottky: 其实我觉得和成功失败无关,感觉只是个单纯的 bug 02/28 00:47
10F:推 ko27tye: 你画面就hang住了 当然只能撷取到那个画面阿 02/28 01:07
11F:→ wjp: 结果在B()跟C()中间加个delay 1秒就不会卡住了 orz 03/02 17:33