Application.ProcessMessages
2011-11-11 10:09
323 查看
Application.ProcessMessages
//如果有这样一个循环,是非常可怕的;因为它完不了,你得等着. procedureTForm1.Button1Click(Sender:TObject); var i:Integer; begin fori:=0toMaxIntdo begin Text:=IntToStr(i); end; end; //即使这样也无济于事,因为在循环期间你执行不了Button2Click var b:Boolean; procedureTForm1.Button1Click(Sender:TObject); var i:Integer; begin b:=True; fori:=0toMaxIntdo begin ifbthenText:=IntToStr(i)elseExit; end; end; procedureTForm1.Button2Click(Sender:TObject); begin b:=False; end; //如果在循环期间... fori:=0toMaxIntdo begin ifbthenText:=IntToStr(i)elseExit; {看看还有其他什么事情发生} end; //Application.ProcessMessages就是干这个的! var b:Boolean; procedureTForm1.Button1Click(Sender:TObject); var i:Integer; begin b:=True; fori:=0toMaxIntdo begin ifbthenText:=IntToStr(i)elseExit; Application.ProcessMessages;{!} end; end; procedureTForm1.Button2Click(Sender:TObject); begin b:=False; end;
防止进程阻塞,使程序能够响应消息队列中的其他事件。 比如你下载一个大文件的时候,还未下载成功,那么整个程序可能阻塞在这里,而不响应其他事件。但是,如果你在下载过程中,使用了processmessages就可以在下载的同时处理其他事情,响应 鼠标事件等。
转载自万一的博客
相关文章推荐
- Application.ProcessMessages的用法意义
- Application.ProcessMessages
- Application.ProcessMessages
- Application.ProcessMessages
- Application.ProcessMessages; 的重要性
- 复制文件时,如何显示进度条(使用BlockRead函数读取数据,并插入application.ProcessMessages)
- Application.ProcessMessages
- Application.ProcessMessages的作用
- DELPHI 中的Delay函数,利用GetTickCount和Application.ProcessMessages构建
- ttimer 控件和 application.processmessages 导致的消息列表溢出。
- Application.ProcessMessages
- Application.ProcessMessages
- Application.ProcessMessages
- Delphi 2010,在主窗体中使用Application.ProcessMessages提示错误的解决办法
- *Application.ProcessMessages用法
- Why my application crashes on process termination when file sinks are used?
- android开发之android:process属性_application中onCreate执行多次
- Activity Process Task Application 专题讲解
- Error:Execution failed for task ':myapplication:processDebugResources'. > com.android.ide.common.pro
- application, process, thread