Hola DarkBlue.
No uso ADO para mis desarrollos por lo que no se me ha presentado una situación similar. Pero según leo de lo que comentas, pareciera que ya sea por fallos de comunicación, energía, tiempo de inactividad, etc en ocasiones, el
TADOConnection pierde la conexión con el servidor.
Se me ocurren dos opciones pero lamento no tener la experiencia necesaria con ADO como para asegurar que funcionen, así que vas a tener que probarlas...
Usar el evento
AfterDisconnect:
Código Delphi
[-]
procedure TForm1.ADOConnection1AfterDisconnect(Sender: TObject);
begin
ADOConnection1.Connected := True;
end;
Usr un
TTimer (esta solución sería mas pobre ya que realiza pooling cada un minuto):
Código Delphi
[-]
procedure TForm1.FormCreate(Sender: TObject);
begin
Timer1.Interval := 1000*60;
Timer1.Enabled := True;
end;
...
procedure TForm1.Timer1Timer(Sender: TObject);
begin
with ADOConnection1 do
if not Connected then
Open;
end;
Saludos