5,386
社区成员
发帖
与我相关
我的任务
分享
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Mark:Boolean=True;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
while Mark do
begin
Application.ProcessMessages;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Mark:=False;
end;
end.
while Mark and not Application.Terminated do
Application.ProcessMessages;
點擊關閉按鈕,會產生WM_Close,而這個消息是非隊列消息;Application.ProcessMessages并不會處理到。
正是由于這段
procedure TForm1.Button1Click(Sender: TObject);
begin
while Mark do
begin
Application.HandleMessage;
end;
end;
while Mark and not Application.Terminated do
Application.ProcessMessages;