FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Progressbar no responde
Hola amigos, tgo un formulario que carga una serie de consultas y como se ponen un poco pesadas, decidi poner una ventanita que muestre una barra de progreso. Lo que hago es abrir la ventanita con la barra y luego el formulario con las consultasCódigo Delphi [-]formProgeso.show; formConsultas.show
El problema es que la barra no se llena (está chequeada porque si no abro el form de consultas sí lo hace). Alguna vez hice algo en VB6 y había que poner la directiva doevents para que llene la barra y no pase directamente a abrir el otro formulario. Hay algo parecido en delphi o qué debería hacer? Gracias. |
#2
|
||||
|
||||
Bueno si pusieras un poco de codigo de lo que estas haciendo podriamos indicarte que es lo que pasa, pero para que te hagas algunas ideas prueba lo siguiente:
Imagino que la ventana de consultas es la que las ejecuta y la de progreso solo debe mostrar el avance
Espero estas ideas te sirvan Saludos
__________________
Si robas, roba un beso, si mientes que sea por amor y si engañas que sea a la muerte!! |
#3
|
||||
|
||||
Para usar un progressbar hay que tener en cuenta que necesitas:
1.- Contar con un valor que se vaya incrementando conforme algo suceda en el proceso que quieres mostrar (número de registros, segundos, minutos, intentos, pasos de un proceso, etc.) Y esta valor debe ser finito. 2.- Necesitas tener acceso a una parte de tu proceso donde "avance" el contador para poder hacer el refresco correspondiente en el progressbar. 3.- En consultas sql y similares no se cumple ninguna de las 2 anteriores por lo que no puedes utilizarlo ya que al momento de lanzar la consulta tu ya no tienes control sobre el proceso que se realiza en el servidor de BD, es más ni siquiera sabemos cuanto tiempo durará o cuantos registros se leerán. Puedes usar el progressbar en modo "marquee" que es en donde una barrita verde va y viene indicando que se está haciendo algo o bien abrir un hilo de ejecución adicional para mostrar una animación o algo así. Si buscas por los foros verás que ya se ha tratado el tema con muchas opciones de solución.
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
#4
|
|||
|
|||
No puse código porque no hay problemas con la barra en sí, la ventana que contiene la barra funciona bién, el progreso se muestra. El problema es que al realizar 2 acciones secuencialmente, una para abrir la ventana con el progreso y luego el formulario con las consultas, es como que la ventana de progreso pierde el control y pasa a ejecutar las consultas, en consecuencia la barra de progreso no se llena. El código es sencillo, no pongo el código de la ventana de progreso ni el del formulario de consulta porque estos no tienen problemas, lo que hago es lo siguiente:
|
#5
|
||||
|
||||
Pones muy poco codigo, no logro comprender todo el entorno de lo que estas haciendo, deberias de pegarnos aqui la secuencia de los procedures que ejecutas
Saludos
__________________
Si robas, roba un beso, si mientes que sea por amor y si engañas que sea a la muerte!! |
#6
|
||||
|
||||
Pues precisamente lo que te mencionaba, llega el momento en que ya no tienes control del proceso de consultas que es lo que está pasando. Revisa mi post y verás.
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
#7
|
|||
|
|||
Gracias por la ayuda amigos. Llegué a la solución invocando las consultas dentro de la barra de progreso, cada vez que hace una consulta llena la barra proporcionalmente, de esta manera el control está sobre la barra y cuando finaliza las consultas abre el formulario con los datos cargados.
Gracias nuevamente. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Webbrowser no responde | Roro | Internet | 2 | 24-02-2010 19:28:09 |
Así se responde a las amenazas y/o tonterías | Lepe | La Taberna | 10 | 10-12-2008 13:48:38 |
TEdit no responde a OnKeyPress | salvica | OOP | 2 | 16-04-2006 10:21:08 |
procedimiento que no responde | chechu | Varios | 3 | 24-11-2005 18:10:22 |
la BD no responde.. | celesdiaz | Firebird e Interbase | 4 | 06-06-2005 02:48:12 |
|