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

  • 相关阅读:
    SQL注入方法之:获取列名
    手把手教会你模拟退火算法
    我的G++编译选项
    编译器优化误解程序员的意思
    ZKW线段树
    扩展欧几里得算法
    快速幂
    乘法取模
    莫队算法良心讲解
    高精度模板
  • 原文地址:https://www.cnblogs.com/karkash/p/3073850.html
Copyright © 2011-2022 走看看