在数据库连接前判断数据库是否打开:  if not dbfCanOpen then   //判断数据库是否连接
    Abort;                 //这个地方报错

解决方案 »

  1.   

      if not dbfCanOpen then //判断数据库是否连接
      Abort; //这只是终止程序执行后面的代码
    不是这句出了问题吧,,这句是没问题的,,你整个代码是什么呀?
      

  2.   

    还没有进入主程序,Debug时程序直接跳入下面的函数,
    const 
      dbfCanOpen        : Boolean = False;
    整个函数如下:
    procedure Tdbf.ADOConnectionBeforeConnect(Sender: TObject);
    begin
      SQLTimeQuote := '''';
      DataSource := '';
      if not dbfCanOpen then  //dbfCanOpen 
        Abort;  //在这里出错
    end;
      

  3.   

    进入Tdbf时应当先执行oncreate事件,但是这个程序没有,而是直接执行了ADOConnection的BeforeConnect事件,没有看明白什么原因。
      

  4.   

    你想用Abort退出程序?如果主窗口的create没有完成,得把所有连接数据库和控件free完,再Abort;
    否则你用正常退出Application.Terminate;
      

  5.   

    程序应当先跳入oncreates事件,但是这个程序没有跳入,还在查找什么原因。