看板 Perl 關於我們 聯絡資訊
請問Win32::GUI中,使用while(1)迴圈時,要怎麼中斷他呢? 我寫了一個按鈕停止,可是執行while(1)迴圈時,根本沒辦法按按鈕 整個GUI感覺就像當掉一樣停住了 以前寫vb有個指令放在while迴圈內,他會檢查按鈕的動作 請問Win32::GUI裡面有類似的功能嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.132.173.88
imce:Sorry 自己解決了 use threads; 10/06 21:53
LiloHuang:while 迴圈裡面加入 Win32::GUI::DoEvents(); 即可 10/06 21:59
LiloHuang:不需要使用到 threads 啦:P 10/06 22:00
imce:剛剛試了DoEvents,視窗可以拉動,可是按鈕還是不給按=.= 10/06 22:33
imce:用threads也會有thread關不掉的情形=.= 10/06 22:36
imce:想關掉程式還真困難 10/06 22:37
LiloHuang:應該是可以才對 你要狂按~~要不然就是把 while 迴圈 10/06 22:38
LiloHuang:改用Timer 來寫吧 10/06 22:38
imce:嗚~莉洛寫的就會動,我在來研究一下=.= 10/06 22:52
imce:我知道了,我的程式被socket的can_read給block住了 10/06 23:02
LiloHuang:噗噗...你可能要用 alarm 設定一下 timeout 10/06 23:10
imce:最後還是用thread+socket控制關閉thread完成 10/08 10:22
LiloHuang:嗯嗯~ 其實用 Non Blocking 的方式也可以解決 XD 10/10 01:44
LiloHuang:不過既然搞定就好啦 :) 10/10 01:45