用什么方法延时,又不会使程序不觉行慢(读取端口数据)?!(100分)

  • 主题发起人 主题发起人 jmlwz
  • 开始时间 开始时间
J

jmlwz

Unregistered / Unconfirmed
GUEST, unregistred user!
如上:)
 
你不是已问过一次了吗?这么等不及?
 
是呀!是比较急呀!不好意思啦!
 
请使用<br>使用进度条显示进度,在显示过程中使用<br>Application.ProcessMessage;<br>就会转移用户的注意力,不会觉得慢。
 
WaitForSingleObject
 
反正别用sleep
 
同意楼上的两位FW的。
 
为什么不用多线程或异步?
 
procedure MySleep(ALong:Int64);<br>var<br>&nbsp; Tmp:Int64;<br>begin<br>&nbsp; Tmp := GetTickCount();<br>&nbsp; while (GetTickCount()-Tmp)&lt;ALong do<br>&nbsp; &nbsp; Application.ProcessMessages;<br>end;
 
这个属于心理问题,你应该放音乐,让客户知道还有多久才会完,就像排队一样:)
 
var<br>&nbsp;TT:DWORD;<br>begin &nbsp; &nbsp; &nbsp; //延迟时间<br>&nbsp; //取得现在的Tick值<br>&nbsp; TT:=GetTickCount();<br>&nbsp; //计算Tick差值是否超过设置值<br>&nbsp; while GetTickCount()-TT&lt;DT do<br>&nbsp; &nbsp;Application.ProcessMessages; //释放控制权
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
835
SUNSTONE的Delphi笔记
S
S
回复
0
查看
797
SUNSTONE的Delphi笔记
S
后退
顶部