Ver Mensaje Individual
  #7  
Antiguo 28-02-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Jose Roman.

Yo coincido con Casimiro, no me parece necesario recurrir al uso de threads complicando una situación intrínsecamente simple.

Una opción sencilla es usar un mensaje para avisar al usuario que se está intentando la conexión y otro para el caso que falle, algo similar a esto:
Código Delphi [-]
uses Windows, Forms, Dialogs;

procedure TDataModule2.DataModuleCreate(Sender: TObject);
const
   MSG1 = 'Intentando conectar con la base de datos.' + #10 + #10 +
          'Esto puede demorar, aguarde un momento por favor.';
   MSG2 = 'Error al tratar de establecer la conexión con la base de datos';
var
  dlg: TForm;
begin
  with IBDatabase1 do
  begin
    DatabaseName:= 'TU_SERVER:C:\TU_PROGRAMA\BD\TU_BD.FDB';
    Params.Clear;
    LoginPrompt:= False;
    Params.Add('user_name=sysdba');
    Params.Add('password=masterkey');
    try
      dlg:= CreateMessageDialog(MSG1, mtInformation, []);
      dlg.Show;
      dlg.Refresh;
      Open;
    except
      dlg.Close;
      MessageBox(0, MSG2, '', MB_ICONERROR);
      Application.Terminate;
    end;
    dlg.Close;
  end;
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita