Delphi程序消息无响应的解决办法

2025-10-10 01:14:51

1、打开Delphi7集成开发环境,在默认工程的Form1窗体上放两个Button按钮。

Delphi程序消息无响应的解决办法

2、双击Button1按钮进入OnClick事件方法,写如下代码:

procedure TForm1.Button1Click(Sender: TObject);

var

  i:Integer;

begin

  for i:=0 to 100000 do

  begin

    Button1.Caption:=IntToStr(i);

  end;

end;

Delphi程序消息无响应的解决办法

3、F9运行程序,点击Button1,Button1的Caption变化。再点击Button2无响应,因为程序在执行很大循环,只能等待循环结束。

Delphi程序消息无响应的解决办法

4、这时可以用Application.ProcessMessages,使程序可以相应系统消息。在Unit1.pas源代码文件,声明一个全局布尔类型的变量初始值为:True。

双击Button1进入OnClick事件方法,修改代码如下:

var

  b:Boolean=True;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var

  i:Integer;

begin

  for i:=0 to 100000 do

  begin

    if b = true then

    begin

      Button1.Caption:=IntToStr(i);

      Application.ProcessMessages;

    end

    else

      Break;

  end;

end;

Delphi程序消息无响应的解决办法

5、双击Button2进入OnClick事件方法,并写如下代码:

procedure TForm1.Button2Click(Sender: TObject);

begin

  b:=False;

  ShowMessage('点我');

end;

Delphi程序消息无响应的解决办法

6、F9运行程序,点击Button1,Button1的Caption变化。再点击Button2则Button1的Caption停止变化,弹出对话框‘点我’

Delphi程序消息无响应的解决办法

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢