发信人: wenbobo(灌了拂衣去) 
整理人: wenbobo(2002-09-18 10:12:58), 站内信件
 | 
 
 
因为Sleep的作用是把当前线程转为休眠状态(暂时失去CPU资源)一段时间,而不是仅仅“延时”。所以,你的程序在使用Sleep后,整个线程,包括消息循环都没有执行的机会。在GUI主线程里面要慎重使用这个函数,因为整个界面都会被“Sleep”。你可以使用Timer,或者自己在循环里面判断时间流逝,同时使用Application->ProcessMessages(),以保证消息队列的及时处理。
 
 
 【 在 linzhixiao0 的大作中提到:】
 :以下代码:为什么用了Sleep函数后,状态栏没有因时间停顿而更换内容.只是直接显示最后信息:"程序传送结束!",而没有一条一条的显示Str3B内容,请高手指点;
 :for(int i=0;i<Memo1->Lines->Count;i++)
 :{
 ://打开打印机并口的端口
 ://.....
 :
 :......
  
 
  ---- 
 太阳当头照,花儿对我笑,小鸟说早早早,你为什么背个炸药包?
 我去炸学校,谁也不知道,一拉线儿,我就跑,轰隆一声学校不见了。
 
 广州社区C语言版        我的纯音乐网站
              | 
 
 
 |