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.处理大量数据,但对于后续的操作不相干的情况下可以将处理数据交给子线程来做,那么线程也可以解决界面卡死的情况,这里就不举例子了,在线程里写代码的方法和主线程里写法一样,只是注意下同步就行了。

  • 相关阅读:
    8u ftp 可以连接但是无法获取目录的解决办法:无法打开传输通道。原因:由于...
    自学Oracle心得
    Java程序员到架构师的推荐阅读书籍
    (转)Java中Image的水平翻转、缩放与自由旋转操作
    IOC和DI
    Spring简介
    正则表达式
    反射
    网络编程
    GUI( 图形用户界面)
  • 原文地址:https://www.cnblogs.com/jijm123/p/9621262.html
Copyright © 2011-2022 走看看