• 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;

  • 相关阅读:
    Android-Sqlite-OOP方式操作增删改查
    Android-Sqlite-升级操作
    Android-Sqlite-SQL操作增删改查
    Android-SqliteSQL语句大全
    Android-startService后台运行
    php获取post参数的几种方式 RPC 规定接收取值方式 $GLOBALS['HTTP_RAW_POST_DATA'];
    php echo '<script>alert("插入成功")</script>';
    php urlencode函数 (中文字符转换为十六进制)
    Validform使用ajax详解
    PHP系统级函数 get_headers() 包含有服务器响应一个 HTTP
  • 原文地址:https://www.cnblogs.com/hnxxcxg/p/2940804.html
Copyright © 2020-2023  润新知