Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-02-2015
Jose Roman Jose Roman is offline
Miembro
 
Registrado: jul 2006
Ubicación: Colombia
Posts: 361
Poder: 18
Jose Roman Va por buen camino
Conectar a Firebird con Multihilo

Cordial saludo,

Resulta que trabajo con Firebird 2.5, ZeosLib y Delphi XE; en un form tengo un TProgressBar y deseo que conectarme a una base de datos, pero mientras se realiza la conexion la barra de estado avanza como para indicarle al usuario que se esta conectando, se que esto lo debe hacer con un multihilo pero soy muy novato en ello, y si lo hago normalmente y la conexion no se realiza la aplicacion se congela mientras espera respuesta y deseo que no suceda eso. Alguien tiene un ejemplo de como se haria esto?

Gracias de antemano por sus valiosos aportes.
Responder Con Cita
  #2  
Antiguo 28-02-2015
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
Jose Roman,

Cita:
Empezado por Jose Roman
...tengo un TProgressBar y deseo conectarme a una base de datos, pero mientras se realiza la conexión la barra de estado avanza como para indicarle al usuario que se esta conectando...se que esto lo debe hacer con un multihilo...


Revisa esta información:
Espero sea útil

Nelson.
Responder Con Cita
  #3  
Antiguo 28-02-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No encuentro nada útil una barra de progreso para conectar a la base de datos, es algo que tarda milésimas de segundos, no sirve para nada
Responder Con Cita
  #4  
Antiguo 28-02-2015
Jose Roman Jose Roman is offline
Miembro
 
Registrado: jul 2006
Ubicación: Colombia
Posts: 361
Poder: 18
Jose Roman Va por buen camino
La barra de progreso no es para conectarse, es para indicarle al usuario que se esta conectando y que no se quede congelada la aplicación sin saber que proceso esta realizando, debido a que muchas veces se demora en conectarse por el tipo de conexión que el cliente maneja. (En Colombia es típico en algunas organizaciones)

Última edición por Jose Roman fecha: 28-02-2015 a las 17:43:45.
Responder Con Cita
  #5  
Antiguo 28-02-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Jose Roman Ver Mensaje
La barra de progreso no es para conectarse, es para indicarle al usuario que se esta conectando y que no se quede congelada la aplicación sin saber que proceso esta realizando, debido a que muchas veces se demora en conectarse por el tipo de conexión que el cliente maneja. (En Colombia es típico en algunas organizaciones)
¿Es una conexión por internet?
Responder Con Cita
  #6  
Antiguo 28-02-2015
Jose Roman Jose Roman is offline
Miembro
 
Registrado: jul 2006
Ubicación: Colombia
Posts: 361
Poder: 18
Jose Roman Va por buen camino
Es local, es entre dos torres pero en una torre solo llega con wifi por el tipo de edificio y presupuesto , también a veces se presenta muchos problemas de cortes de energía lo cual hace que se reinicie el router y se corte la comunicación con el servidor que tiene la base de datos, por eso mientras se está conectado y hay conexión no hay problema, pero si se corta deseo que no se congele la aplicación solo que muestre como una barra de progreso continúa que indica que se está estableciendo una conexión y si no se da muestra el mensaje pero el usuario verá una barra que le estará indicando que espere mientras eso se realiza
Responder Con Cita
  #7  
Antiguo 28-02-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 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
  #8  
Antiguo 28-02-2015
Jose Roman Jose Roman is offline
Miembro
 
Registrado: jul 2006
Ubicación: Colombia
Posts: 361
Poder: 18
Jose Roman Va por buen camino
Gracias por sus respuestas y aportes, haré este último ejemplo sobre el cuadro de diálogo
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Componente SdpoSerial y multihilo kheldar Lazarus, FreePascal, Kylix, etc. 0 29-03-2011 09:16:31
Multihilo con BDE GerTorresM Varios 1 29-03-2010 02:34:08
¿Cómo puedo implementar CreateProcess con procesos multihilo? Black_Ocean Varios 1 14-05-2008 17:22:34
Como crear una aplicacion multihilo kurono Varios 9 20-04-2008 20:08:13
threads multihilo walito API de Windows 5 13-06-2007 20:34:26


La franja horaria es GMT +2. Ahora son las 22:33:57.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi