zoukankan      html  css  js  c++  java
  • Delphi编程防止界面卡死的方法

    Delphi编程防止界面卡死的方法

     
     
     

    1.循环里面防止界面卡死的方法可以使用Application.ProcessMessages;
      例如下列方法:
        var
          n: Integer;
        begin
          for n := 0 to 10000 do
          begin
            Edit1.Text := IntToStr(n);
          end;
        end;
      在程序里执行的时候,界面肯定会卡死的,但如何防止界面出现卡的情况呢,加入Application.ProcessMessages即可,修改后的代码为:
        var
          n: Integer;
        begin
          for n := 0 to 10000 do
          begin
            Application.ProcessMessages;
            Edit1.Text := IntToStr(n);
          end;
        end;
      这样运行的时候界面就不卡了!Application.ProcessMessages会转移程序控制权,使用的时候根据情况来选择!

    2.网络程序在连接通信的时候出现界面卡死
      此时可以使用indy自带的一个控件来解决问题TIdAntiFreeze,在连接或者通信之前按照下列方法加入代码;
        procedure TForm38.Button1Click(Sender: TObject);
        begin
          IdAntiFreeze1.OnlyWhenIdle:=False;
          IdTCPClient1.Host:='192.168.13.89';
          IdTCPClient1.Port:=3456;
          IdTCPClient1.Connect;
        end;

    3.处理大量数据,但对于后续的操作不相干的情况下可以将处理数据交给子线程来做,那么线程也可以解决界面卡死的情况

  • 相关阅读:
    C++构造与析构 yongmou
    坏习惯 yongmou
    Python 字符串方法
    python 列表推导式轻量级循环
    python 循环遍历字典元素
    python 短路逻辑和条件表达式
    python 迭代器
    一些关于面向对象设计的思考
    python map内建函数
    Python 列表
  • 原文地址:https://www.cnblogs.com/karkash/p/3073850.html
Copyright © 2011-2022 走看看