Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-07-2005
manuel Suarez manuel Suarez is offline
Registrado
 
Registrado: jun 2005
Posts: 5
Poder: 0
manuel Suarez Va por buen camino
Unhappy No me explique bien...

Estoy haciendo un programa de bases de datos con Delphi 7 y SQL Server 2000, utilizando ADO`s y me gustaria que cuando realizo la conexion con la BD, me mostrara una barra de progreso, "conectando..." y que estuviera un boton para cancelar la conexion, en caso de que esta se tardara mucho tiempo.

Pero ya hice unas pruebas y resulta que mientras se realiza la conexion, todos los frms y todo del programa, se detiene (se traba) y no se puede hacer nada hasta que, o se conecta o me regresa un mensaje de error de que no se pudo conectar...

creo que no me explique bien... cuando inicio el programa, pido la direccion IP del servidor y si esta es correcta y el servidor esta funcionando y todo lo demas, se conecta rápido, pero cuando por "x" cosa no se conecta (IP incorrecta, servidor apagado, etc), se tarda mucho en responder con el mensaje de error, y mientras eso sucede, no se puede hacer nada con el programa, como si se trabara, y yo quisiera que en vez de que se trabe, pueda clickar un boton para cancelar la conexion, o que mientras se tarda todo ese tiempo, mostrar una barra de progreso que este funcionando. pero cuando ocurre eso de que no se conecta, si pongo una barra de progreso, tambien se traba, no se recorre...

Muchas gracias por responder, ya que ya tenia mucho tiempo este mensaje si que me contestaran... les agradezco de nuevo, y ojala me respondan mas rápido para este nuevo mensaje... GRACIAS..
Responder Con Cita
  #2  
Antiguo 22-07-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.964
Poder: 29
delphi.com.ar Va camino a la fama
El TAdoConnection, tiene una opción "coAsyncConnect", podrías hacer algo como:
Código Delphi [-]
begin
  ADOConnection.ConnectOptions := coAsyncConnect;
  ADOConnection.Open;

  {
    Si desde un evento externo pones FCancel := True
    se tendría que cancelar el intento de conexión
  }
  FCancel := False;

  repeat
    Application.ProcessMessages;
    if FCancel then 
    begin
      ADOConnection.Cancel;
      Break;
    end;
  until not (stConnecting in ADOConnection.State);
end;

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
Respuesta



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


La franja horaria es GMT +2. Ahora son las 17:50:01.


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