我用ADO+SQl2000+Delphi6.0作的应用程序。执行都正常。但启动特别的慢。请问各位高手为什么啊?应该如何解决呢。谢谢

解决方案 »

  1.   

    启动时做ADO连接判断了吗??
    要多长时间能起来??
      

  2.   

    没有啊。启动要30秒钟吧。我是用动态字符串加到AdoconnectionString属性里的。
    在from创建前就开始等待了。不知为什么。也没有调用什么Dll啊。
      

  3.   

    程序就一个主界面啊。程序也不大。而且在程序启动时还没有执行查询语句前就很慢。等到from.create事件时程序就正常了。
      

  4.   

    把除了 主窗口 外其它的 窗口 都变成用的时候 再创建。在 aplication 中的其它窗口 的创建全部去掉!
      

  5.   

    启动慢,可能存在以下几个方面的因素:
      1.检查你的主窗体Create事件中有无加载大的资源文件,如:图片文件等等,其它窗体的Create事件也一样。
      2.在窗体的Create事件中对数据库进行了操作,如创建,打开,读/写,尤其是动态构造的AdoconnectionString串,当Adoconned置true时,通常很费时。
      3.操作外部文件,如.Log、.ini、.exe文件等。
      4.操作接口函数(调用Dll)。
      

  6.   

    楼上的大哥们你们说的我都看了,根本还没有执行到窗体Create事件时就慢啊。等到了Create事件时,速度就已经好快了。
    我监视工程文件时
    begin
      Application.Initialize;  //这句还没有运行前就慢,所以才不知道慢在哪啊。
      Application.CreateForm(TfrmMain, frmMain);
      Application.Run;
    end.
      

  7.   

    第一网速第二代码中将ADO的CONNECTED设为FALSE第三再另外代码控制连接
      

  8.   

    为什么不从其他地方考虑考虑呢?比如SQl服务器、数据库或网络等非程序因素。
      

  9.   

    把整个*。DPR都贴上,看看在说,你是连接远程数据库,还是本地,远程网络是不是有网关和防火墙,有有网关和防火墙的话就比较慢了
      

  10.   

    to : valorman(程浩) 
       没有执行到你说的这些因素。 
    ---------------------------------------------------------------------  
    Application.Initialize;  //这句还没有运行前就慢,所以才不知道慢在哪啊。
    ----------------------------------------------------------------------
      

  11.   

    数据库是本地的库。用bde方式没有问题也看不出慢来。
    以为是防火墙的事,把防火墙和杀毒软件都关了,问题依旧。
    begin
      Application.Initialize;  //这句还没有运行前就慢,所以才不知道慢在哪啊。
      Application.CreateForm(TfrmMain, frmMain);
      Application.Run;
    end.
    在工程文件中Application.Initialize;设的断点
    但是还没有执行到这步就已经慢了。等到执行到这步时。速度就恢复正常了。
      

  12.   

    也许是你机器性能的因素!
    ------------------------------------------------------
    在工程文件中Application.Initialize;设的断点
    但是还没有执行到这步就已经慢了。等到执行到这步时。速度就恢复正常了。
    ------------------------------------------------------
    这是正常的,初始化啊,视个人的机器性能而言的,如果同样的问题有时有,有时没,那就不正常了,建议在别人的机器上安装上Delphi进行测试、比较!
      

  13.   

    这个情况我也试过,
    是不是你在设计时使用了太多的adotable or adoquery?
    又或者你的数据库体积太大
    都会引起程序启动慢的情况。
    解决的方法是设置tablecach,可能会有一些帮助.