作者imce (蜥蜴)
看板perl
标题[问题] 请问Win32::GUI while回圈的中断
时间Sat Oct 6 19:41:30 2007
请问Win32::GUI中,使用while(1)回圈时,要怎麽中断他呢?
我写了一个按钮停止,可是执行while(1)回圈时,根本没办法按按钮
整个GUI感觉就像当掉一样停住了
以前写vb有个指令放在while回圈内,他会检查按钮的动作
请问Win32::GUI里面有类似的功能吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.132.173.88
1F:→ imce:Sorry 自己解决了 use threads; 10/06 21:53
2F:推 LiloHuang:while 回圈里面加入 Win32::GUI::DoEvents(); 即可 10/06 21:59
3F:→ LiloHuang:不需要使用到 threads 啦:P 10/06 22:00
4F:推 imce:刚刚试了DoEvents,视窗可以拉动,可是按钮还是不给按=.= 10/06 22:33
5F:→ imce:用threads也会有thread关不掉的情形=.= 10/06 22:36
6F:→ imce:想关掉程式还真困难 10/06 22:37
7F:推 LiloHuang:应该是可以才对 你要狂按~~要不然就是把 while 回圈 10/06 22:38
8F:→ LiloHuang:改用Timer 来写吧 10/06 22:38
9F:推 imce:呜~莉洛写的就会动,我在来研究一下=.= 10/06 22:52
10F:推 imce:我知道了,我的程式被socket的can_read给block住了 10/06 23:02
11F:推 LiloHuang:噗噗...你可能要用 alarm 设定一下 timeout 10/06 23:10
12F:推 imce:最後还是用thread+socket控制关闭thread完成 10/08 10:22
13F:推 LiloHuang:嗯嗯~ 其实用 Non Blocking 的方式也可以解决 XD 10/10 01:44
14F:→ LiloHuang:不过既然搞定就好啦 :) 10/10 01:45