作者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/m.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