zoukankan      html  css  js  c++  java
  • Application.ProcessMessages用法

    参考:http://cqujsjcyj.iteye.com/blog/380926

      我想你可能还有点模糊。举个例子容易明白:假如你的窗体上有两个按钮,一个“计算”,一个“停止”,

      如果你的计算是密集运算或复杂处理,当你点了“计算”钮后,你将发现“停止”按钮不会响应你的点击了,也就是说,你无法随时使计算过程停下来。而倘若你在计算的代码中加入Application.ProcessMessages,则你的程序就有机会响应其它的事件了。

      在大量的循环运算,又不想使用多线程时,为了计算机在运算时能响应用户的操作,又不破坏指令执行。所起作用类似于VB中DoEvent方法. 

    procedure Delay(MSecs: Longint);
    //延时函数,MSecs单位为毫秒(千分之1秒)
    var
      FirstTickCount, Now: Longint;
    begin
      FirstTickCount := GetTickCount();
    repeat
      Application.ProcessMessages;
      Now := GetTickCount();
    until (Now - FirstTickCount >= MSecs) or (Now < FirstTickCount);
    end;
    

      

  • 相关阅读:
    storm中DAU实时计算方案
    冒泡排序
    跨域
    关于java面试题
    vue+npm+Element插件+路由
    Android云端APP
    js图片预览带进度条
    jQuery上传文件显示进度条
    SSM+form表单文件上传
    SSM批量添加数据
  • 原文地址:https://www.cnblogs.com/xumenger/p/4454117.html
Copyright © 2011-2022 走看看