比如查询数据时,连接、操作数据的过程界面冻结,如何解决?
就像QQ那样登录的时候图标一闪一闪的。但用CoolICon时因为界面冻结也就不行了。

解决方案 »

  1.   

    Application.ProcessMessages; // 让其他控件能获取消息
      

  2.   

    //插进去就行。
    application.ProcessMessages; 
    //下面就是费时的程序。
      

  3.   

    application.ProcessMessages;
    能够让你应用程序的窗口继续接受消息,不至于好像死掉一样。
      

  4.   

    用Data Access|ClientDataSet处理数据,ClientDataSet有PacketRecord属性,设置为一个正数如1000,这样程序就暂时只访问前1000条记录,如果用户浏览或处理到了1000条记录之后,ClientDataSet会自动从后端数据库取得后1000条记录。
    默认的-1就是一次把后端所有记录读取到客户端,当数据量大时就会出现界面冻结的情况。
    当然也不然把PacketRecord设成太小,这样会增加网络的往返次数,反而会降低程序性能。
      

  5.   

    application.ProcessMessages;
    加到每个循环里!
      

  6.   

    在处理的循环里用
    Application.ProcessMessages;最好是数据处理另外搞一个线程。