ttimer 控件和 application.processmessages 导致的消息列表溢出。
2010-12-30 11:06
288 查看
procedure TForm1.tmr1Timer(Sender: TObject);
begin
windows.Beep(100, 100);
windows.Beep(100, 100);
while true do
begin
Application.ProcessMessages;
end;
end;
这种代码会导致timer会被反复触发。
procedure TForm1.tmr1Timer(Sender: TObject);
begin
tmr1.enabled := false
try
windows.Beep(100, 100);
windows.Beep(100, 100);
while true do
begin
Application.ProcessMessages;
end;
finally
tmr1.enabled := false;
end;
end;
则不会导致wm_timer时间消息的频繁发生。
下面的代码,也不会反复触发。因为系统太忙了。这种方式不会导致消息列表溢出。
procedure TForm1.tmr1Timer(Sender: TObject);
var
i: Integer;
begin
windows.Beep(100, 100);
windows.Beep(100, 100);
i := 0;
while true do
begin
Sleep(100);
Inc(i);
btn1.Caption := IntToStr(i);
end;
end;
begin
windows.Beep(100, 100);
windows.Beep(100, 100);
while true do
begin
Application.ProcessMessages;
end;
end;
这种代码会导致timer会被反复触发。
procedure TForm1.tmr1Timer(Sender: TObject);
begin
tmr1.enabled := false
try
windows.Beep(100, 100);
windows.Beep(100, 100);
while true do
begin
Application.ProcessMessages;
end;
finally
tmr1.enabled := false;
end;
end;
则不会导致wm_timer时间消息的频繁发生。
下面的代码,也不会反复触发。因为系统太忙了。这种方式不会导致消息列表溢出。
procedure TForm1.tmr1Timer(Sender: TObject);
var
i: Integer;
begin
windows.Beep(100, 100);
windows.Beep(100, 100);
i := 0;
while true do
begin
Sleep(100);
Inc(i);
btn1.Caption := IntToStr(i);
end;
end;
相关文章推荐
- Application.ProcessMessages的作用
- Delphi 2010,在主窗体中使用Application.ProcessMessages提示错误的解决办法
- CListCtrl控件主要事件及LVN_ITEMCHANGED消息和鼠标双击列表项事件的处理
- Application.ProcessMessages
- Application.ProcessMessages的用法意义
- 两个 datetime 列的差别导致了运行时溢出 消息 535,级别 16,状态 0
- CListCtrl控件主要事件及LVN_ITEMCHANGED消息和鼠标双击列表项事件的处理
- Application.ProcessMessages; 的重要性
- CListCtrl控件主要事件及LVN_ITEMCHANGED消息和鼠标双击列表项事件的处理
- 工具栏上创建ComboBox组合框控件,框架响应消息(一)之后续:用列表项控制工具栏上的按纽
- CListCtrl控件主要事件及LVN_ITEMCHANGED消息和鼠标双击列表项事件的处理
- ListCtrl列表控件中NM_CLICK消息的发送和处理一例
- CListCtrl控件主要事件及LVN_ITEMCHANGED消息和鼠标双击列表项事件的处理
- 关于iOS UIWebView 加载网页,点击网页内某些控件导致 Application 'UIKitApplication:xxx.xxx.xxx' was killed by jetsam.
- Application.ProcessMessages
- Tomcat debug 模式, Application一直reload,导致内存溢出
- Application.ProcessMessages
- Application.ProcessMessages
- CListCtrl控件主要事件及LVN_ITEMCHANGED消息和鼠标双击列表项事件的处理
- Application.ProcessMessages