Application.ProcessMessages的作用

参考链接:http://www.cnblogs.com/huangygdelphi/articles/1896944.html

https://zhidao.baidu.com/question/471496371.html

问题来源:http://www.cnblogs.com/del/archive/2011/05/09/2041290.html

 

最大的作用就是减少假死。比如当你执行一个很大的循环语句,这时候程序一直在执行这个循环,那么程序一直在专心致志的执行,就给人的感觉是程序死了,但实际上没有。
如果你加上Application.ProcessMessages就会在执行循环的时候有空去做别的事(可以点击其它的按钮什么的)。

 

application.ProcessMessages的主要作用使程序在循环时能够相应外界事件。
一般情况下,程序在循环的时候不响应外界事件。直到循环结束为止才能接受和响应外界事件。
application.ProcessMessages可以有效的解决循环循环的独占问题,能够暂时中断应用程序的执行。
比如,你要设计一个计算,这个计算需要循环10000次。当循环开始到500次的时候,用户突然不想计算下去了,它想取消这个计算,这时候你就可以设置一个cancel按钮,然后在循环体内部合适的位置application.ProcessMessages。来处理cancel按钮的信息,中断循环。
如果你在循环体内没有application.ProcessMessages这句。当循环开始后,程序就被10000次的这个循环独占了,直到循环结束为止。在循环的期间,用户的按什么按钮都没有用。
posted @ 2017-05-30 11:11  delphi学习交流吧  阅读(574)  评论(0编辑  收藏  举报