unit connection;interface
  uses SysUtils,ADODB,DB,ExtCtrls,INIFiles,Classes,dialogs,ComObj;  procedure CheckConnection(Sender: TObject);
  procedure InitializtionConn;
  procedure ReleaseConn;
const
  FileName : string = 'conn.ini';
  SectionName : string = 'CONNINFO';
  Second : Cardinal = 1000 * 60 * 10;var
  Conn : TADOConnection;
  Time : TTimer;implementation  procedure CheckConnection(Sender : TObject);
  begin
    if conn.State =[stClosed]  then
    begin
      InitializtionConn;
    end;
  end;  procedure InitializtionConn ;
  var
    I: Integer;
    InfoStr : TStringList;
    ConnStr : String;
    IniFile : TIniFile;
  begin
    ConnStr := '';
    {读取连接参数}
    IniFile := TIniFile.Create(ExtractFilePath(Paramstr(0)) + FileName);
    Infostr := TStringList.Create ;
    try
      IniFile.ReadSectionValues(SectionName,InfoStr);
      for I := 0 to InfoStr.Count - 1 do    // Iterate
      begin
        ConnStr := ConnStr + InfoStr.Strings[I];
      end;    // for
    finally // wrap up
      InfoStr.Destroy ;
      IniFile.Destroy ;
    end;    // try/finally    Conn := TADOConnection.Create(nil);
    try
      Conn.ConnectionString := ConnStr;
      Conn.Connected := True;
      Time := TTimer.Create(nil);
      Time.Interval := Second;
      Time.OnTimer := CheckConnection; //此处出现问题!!!why
    except
       // showmessage('asdf');
    end;  end;  procedure ReleaseConn;
  begin
  end;
end.