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;
    

      

  • 相关阅读:
    基于spark-streaming实时推荐系统
    xgb
    FM算法解析及Python实现
    FM算法
    计算广告
    转发推荐系统文章
    【spark】dataframe常见操作
    VS Code WSL 2 配置 Spring Boot 2
    Makefile
    Paper English
  • 原文地址:https://www.cnblogs.com/xumenger/p/4454117.html
Copyright © 2011-2022 走看看