zoukankan      html  css  js  c++  java
  • application跟消息相关的东东

    使用Tapplication的onmessage事件来处理消息.指派一个过程给ONMESSAGE,当应用程序从消息队列中取出一条消息,并准备处理该消息时,就调

    用这个过程.应用在WINDOWS处理这条消息前,调用这个事件处理过程.application.onmessage事件处理过得是TMessageEvent类型.
    procedure someobject.appmessagehandler(var msg:tmsg;var hancled:boolean);
    可以从组件板中选择TAPPLICATIONEVENTS组件,从而创建一个ONMESSAGE事件处理过程.
    ONMESSAGE的唯一限制就是它能处理的消息只能是从消息队列中取出的消息,而不能处理应用程序中直接发给WINDOWS窗体过程的消息

    Application.ProcessMessages
    //如果有这样一个循环, 是非常可怕的; 因为它完不了, 你得等着.
    procedure TForm1.Button1Click(Sender: TObject);
    var
      i: Integer;
    begin
      for i := 0 to MaxInt do
      begin
        Text := IntToStr(i);
      end;
    end;
    --------------------------------------------------------------------------------

    //即使这样也无济于事, 因为在循环期间你执行不了 Button2Click
    var
      b: Boolean;

    procedure TForm1.Button1Click(Sender: TObject);
    var
      i: Integer;
    begin
      b := True;
      for i := 0 to MaxInt do
      begin
        if b then Text := IntToStr(i) else Exit;
      end;
    end;

    procedure TForm1.Button2Click(Sender: TObject);
    begin
      b := False;
    end;
    --------------------------------------------------------------------------------

    //如果在循环期间...
    for i := 0 to MaxInt do
      begin
        if b then Text := IntToStr(i) else Exit;
        {看看还有其他什么事情发生}
      end;
    --------------------------------------------------------------------------------

    //Application.ProcessMessages 就是干这个的!
    var
      b: Boolean;

    procedure TForm1.Button1Click(Sender: TObject);
    var
      i: Integer;
    begin
      b := True;
      for i := 0 to MaxInt do
      begin
        if b then Text := IntToStr(i) else Exit;
        Application.ProcessMessages; {!}
      end;
    end;

    procedure TForm1.Button2Click(Sender: TObject);
    begin
      b := False;
    end;

  • 相关阅读:
    SSH框架测试
    Top 20 IoT Platforms in 2018
    基于Helm和Operator的K8S应用管理
    五大开源 Web 代理服务器横评:Squid、Privoxy、Varnish、Polipo、Tinyproxy
    Https单向认证和双向认证
    CNCF Landscape Summary
    走,去出海,一起“Copy to World” | 36氪出海行业报告
    猎豹全球智库执行院长:中国App出海的三大规律和最具代表的五大垂直品类
    闷声发大财,中国 App 出海编年史及方法论
    软件出海的四种模式
  • 原文地址:https://www.cnblogs.com/hnxxcxg/p/2940804.html
Copyright © 2011-2022 走看看