您现在的位置:首页 >> 基础算法 >> window基础 >> 内容

Delphi中Application.ProcessMessages的妙用

时间:2011/9/3 15:33:57 点击:

  核心提示://如果有这样一个循环, 是非常可怕的; 因为它完不了, 你得等着.procedure TForm1.Button1Click(Sender: TObject);var i: Integer;begi...

//如果有这样一个循环, 是非常可怕的; 因为它完不了, 你得等着.
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;

Tags:妙用 
作者:网络 来源:转载
共有评论 0相关评论
发表我的评论
  • 大名:
  • 内容:
  • 盒子文章(www.2ccc.com) © 2024 版权所有 All Rights Reserved.
  • 沪ICP备05001939号