VB中的DoEvents命令,在Delphi中与其对应命令

Application.ProcessMessages作用
防止进程阻塞,使程序能够响应 消息队列 中的其他事件。 
实例:
var
 i:integer;
begin

for  i:=0  to 500000  do
begin
label3.Caption:=inttostr(i+1);
Application.ProcessMessages;//注意这里噢,如果没有这条,系统将假死,加上这句后label3将即时显示变化。
end;


application.ProcessMessages的主要作用使程序在循环时能够相应外界事件。一般情况下,程序在循环的时候不响应外界事件。直到循环结束为止才能接受和响应外界事件。application.ProcessMessages可以有效的解决循环循环的独占问题,能够暂时中断应用程序的执行。比如,你要设计一个计算,这个计算需要循环10000次。当循环开始到500次的时候,用户突然不想计算下去了,它想取消这个计算,这时候你就可以设置一个cancel按钮,然后在循环体内部合适的位置application.ProcessMessages。来处理cancel按钮的信息,中断循环。如果你在循环体内没有application.ProcessMessages这句。当循环开始后,程序就被10000次的这个循环独占了,直到循环结束为止。在循环的期间,用户的按什么按钮都没有用。

猜你喜欢

转载自blog.csdn.net/ttpage/article/details/9161761