Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-04-2004
tulio tulio is offline
Miembro
 
Registrado: may 2003
Ubicación: Argentina
Posts: 301
Poder: 22
tulio Va por buen camino
Objeto progress bar no funciona

Buen día

Mi duda es la siguiente, quiero mostrar en pantalla el progreso de un proceso con un objeto progress bar cuando disparo por ejemplo un tadoquery o un tadostoredprocedure, pero ni el evento onfetchprogres de los componentes ADO ni el objeto progressbar puden tomar el control para mostrar el progreso de la barra.

saludos tulio
Responder Con Cita
  #2  
Antiguo 20-04-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Hasta que no empieza el proceso de "recogida de resultado" no podrás actualizar (controlar el evento fech) la barra de progreso. Por tanto, surante el tiempo que dure la ejecución del SQL en el servidor, tu app quedará "colgada" a no ser que la pongas en un Thread (que considero sería rizar demasiado el rizo)
Responder Con Cita
  #3  
Antiguo 20-04-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por cadetill
Por tanto, surante el tiempo que dure la ejecución del SQL en el servidor, tu app quedará "colgada" a no ser que la pongas en un Thread (que considero sería rizar demasiado el rizo)
Difiero un poquitín. Más bien creo que generalmente no rizamos el rizo lo suficiente y no nos preocupamos por este tipo de detalles. Si la consulta toma mucho tiempo queda mucho mejor que el usuario no vea colgada la aplicación e incluso poder seguir trabajando en ella.

// Saludos
Responder Con Cita
  #4  
Antiguo 20-04-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Si, estoy de acuerdo pero....
Cita:
Empezado por roman
Si la consulta toma mucho tiempo ......
a partir de cuanto se considera mucho tiempo? 20sg? 5min? No se, creo que, dependiendo el tiempo de respuesta que pueda tener, no vale la pena complicar el programa. No obstante, todo queda a manos del programador decidir si se quiere complicar o no. Personalmente, no sería la primera vez que uso un Thread para ejecutar SQL que duran y duran y duran No obstante, no es mi práctica habitual
Responder Con Cita
  #5  
Antiguo 20-04-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Sólo añadir que, no sólo tiene la "complejidad" técnica de ejecutar un Thread, sino que también tiene la "complejidad" técnica de hacer un método de aviso al usuario de que ha finalizado el Thread (SQL) y recuperar esa consulta de alguna manera
Responder Con Cita
  #6  
Antiguo 20-04-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por cadetill
a partir de cuanto se considera mucho tiempo?
Si el usuario se va por un café tomando como pretexto la demora entonces es mucho tiempo .

Pero ya en serio, coincido en que si la consulta dura "muy poco" el esfuerzo del peinado no vale la pena. Sin embargo sería ideal que las componentes "query-like" tuviesen este comportamiento integrado, es decir que por sí solas corrieran en un hilo aparte de manera que el esfuerzo ya no sería nuestro.

// Saludos
Responder Con Cita
  #7  
Antiguo 20-04-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Cita:
Empezado por roman
Sin embargo sería ideal que las componentes "query-like" tuviesen este comportamiento integrado, es decir que por sí solas corrieran en un hilo aparte de manera que el esfuerzo ya no sería nuestro.
Te animas ha hacer dicho componente (no se si existe, la verdad). Yo lo usaba encantado
Responder Con Cita
  #8  
Antiguo 20-04-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Pues no debe ser difícil ¿no? Es un simple descendiente de TQuery que maneje el hilo. En cuanto a la complejiad técnica de avisar al usuario pues simplemente sería trasladar el evento OnTerminate del thread al TThreadQuery para en él colocar el aviso.

Ya te cooperé con el nombre de la componente, el resto lo espero encantado.

// Saludos
Responder Con Cita
  #9  
Antiguo 20-04-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Cita:
Empezado por roman
Ya te cooperé con el nombre de la componente, el resto lo espero encantado.
Anda que... menuda ayuda la tuya

No se, quizás si tengo tiempo y ganas le doy alguna vuelta al asunto a ver que sale
Responder Con Cita
  #10  
Antiguo 20-04-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por cadetill
Anda que... menuda ayuda la tuya
Esto de poner nombres es más difícil de lo que parece. Ayer mismo alguien preguntó acerca del origen del nombre Delphi, si sigues el enlace que dí verás que no es cosa trivial.

// Saludos
Responder Con Cita
  #11  
Antiguo 21-04-2004
tulio tulio is offline
Miembro
 
Registrado: may 2003
Ubicación: Argentina
Posts: 301
Poder: 22
tulio Va por buen camino
Cadetill y Roman

Muchas gracias por la respuestas y la preocupacion por el tema

saludos

tulio
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 12:01:54.


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