关闭按钮不起作用
- Delphi(Pascal) code
unit Unit1;interfaceuses 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.开始运行后,点击button1后,在不点button2前,窗体不能正常关闭,但是最小最大化都可以,这是为什么呢?
[解决办法]
友情UP
[解决办法]
- Delphi(Pascal) code
while Mark and not Application.Terminated do Application.ProcessMessages;
[解决办法]
按,生WM_Close,而消息是非列消息;Application.ProcessMessages并不理到。
正是由于段
procedure TForm1.Button1Click(Sender: TObject);
begin
while Mark do
begin
Application.ProcessMessages;
end;
end;
使得程序一直注于理列消息,有理非列消息。
么
- Delphi(Pascal) code
按,生WM_Close,而消息是非列消息;Application.ProcessMessages并不理到。正是由于段procedure TForm1.Button1Click(Sender: TObject);begin while Mark do begin Application.HandleMessage; end;end;
[解决办法]
while Mark do
begin
Application.ProcessMessages;
end;
这是个死循环呀
[解决办法]
或者Timer