您的位置:首页 > 移动开发

Application.ProcessMessages

2011-11-30 15:56 295 查看
 //如果有这样一个循环, 是非常可怕的; 因为它完不了, 你得等着.

procedure TForm1.Button1Click(Sender: TObject);

var 

i: Integer;

begin 

for i :=
0
to MaxInt
do 

begin   

Text := IntToStr(i); 

end;

end;/

/即使这样也无济于事, 因为在循环期间你执行不了Button2Click

var 

b: Boolean;

procedure TForm1.Button1Click(Sender: TObject);

var

  i: Integer;

begin 

b := True; 

 for i :=
0
to MaxInt
do 

begin   

 if b
then

Text := IntToStr(i)

else

Exit; 

 end;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin 

 b := False;

end;

//如果在循环期间...

for
i := 0
to MaxInt
do 

begin   

if b
then

Text := IntToStr(i)

else

Exit;   

{看看还有其他什么事情发生} 

 end;

//Application.ProcessMessages 就是干这个的!

var 
b: Boolean;

procedure TForm1.Button1Click(Sender: TObject);

var 

i: Integer;

begin 

b := True; 

 for i :=
0
to MaxInt
do 

begin   

if b
then

Text := IntToStr(i)

else

 Exit;   

Application.ProcessMessages;

{!} 

end;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin 

b := False;

end;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  button