今天遇到个奇怪的问题,代码如下。
procedure TForm2.btn1Click(Sender: TObject);
var
  i: Integer;
begin
  i := 0;
  Runing := True;
  while Runing do
  begin
    edt1.Text := IntToStr(i);
    Inc(i);
    Application.ProcessMessages;
    Sleep(50);
  end;
end;procedure TForm2.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  Runing := False;
end;
用模式窗口打开,Form2.ShowModal后,再点击btn1开始循环,循环的时候点击窗体的关闭按键,CloseQuery事件就没反应了。
如果只是普通的Form2.Show,这样是正常没问题的。