![]() |
Mostrar Progreso de operaciones
Buenas a todos.
Estoy trabajando con delphi 2009,mysql 5.1 y los componentes zeos para conectarme a la base de datos, el tema es el siguiente cuando mi aplicacion arranca se conecta a mysql con los datos que paso de un archivo ini, mi duda es como podria yo mostrar el progreso que va teniendo, ya que cuando la conecto a un base de datos que esta en otra maquina, tarda mas que cuando esta en mi maquina. Gracias por leer, espero sus respuestas. |
La conexión debería ser casi instantánea.
Lo que quieres hacer es, creo, muy complicado, ya que en todo caso será problema de conexión, red, router, etc. Yo revisaría todo porque no es normal que tarde en conectar a otro ordenador, cuando eso es "lo más normal del mundo" :) |
a mi tambien me parece que no deberia tardar tanto pero unos segundos se toma, y por lo que veo todo esta correctamente configurado, anda bien solo que tarda. tengo que ver una forma de evitar que el usuario no pueda hacer nada hasta que yo no confirme que esta correctamente conectado ya que si no me tiraria un error. gracias por las respuesta.
|
Algo a considerar es que acceder a otra máquina, sí o sí va a ser más lento que acceder a tu propia máquina. Si tienes tablas o consultas que se abren en automático al inicio del programa, quizá en local no lo notes pero sí en un acceso remoto. Podrías asegurarte que ninguna tabla se abre automáticamente.
// Saludos |
Cita:
Quiero empezar aclarando un punto. No puedes medir algo que es impreciso. Lo que buscas es como tratar de determinar el movimiento de las partículas cuánticas. A cómo ya los compañeros te han comentado, el tiempo de conexión depende de muchos factores. En lugar de tratar de implementar un ProgressBar para esto, mejor utiliza una variante del ProgressBar que fue inventada precisamente para este tipo de procesos. La variante se le conoce como Infinite Progress Bar. Creo que los componentes Jedi traen incluídos una barra con estas prestaciones. Otra alternativa es utilizar un GIF animado. Nuevamente, los componente Jedi incluyen un control visual para que tus formularios muestren este tipo de animaciones. Sino tienes los componentes Jedi, puedes utilizar este código que acabo de escribir para tí:
El código anterior lo puedes ejecutar al iniciar el formulario que contiene la barra. Necesitarás agregar la unidad CommCtrl a Uses. Es un código nativo, basado completamente en la API de WInd32, a cómo me gusta hacer la cosas :) ¿Cuál solución elegir? Depende del Look and Feel de tu aplicación. Si quieres apegarte al diseño global de Windows, un Infinite Progress Bar es una buena solución. Si quieres darle un toque de personalidad a tu aplicación, un GIF animado y sútil es una buena idea. |
Cita:
Además, creo que sólo sirve si tienes un xpmanifest. // Saludos |
Cita:
Saludos! |
Gracias por tomarte las molestia de ayudarme pero solo tengo una duda, que es que yo tengo u procedimiento que se encarga de conectar, y no como hacer para integrar ese codigo con el procedimiento.
Este es el codigo del proceso de coexion si me podes arientar te agradeceria.
Espero tu respuesta Chris gracias. |
Podrías activarla barra en el evento BeforeConnect del TZConnection y desactivarla en el evento AfterConnect.
// Saludos |
listo gracias cuando lo pruebe les comento.
|
probe lo que me dijiste de poner que se active en el BeforeConnect y el afterconnect del zconection el problema con eso es que no muestra nada de lo que este en el formulario principal hasta que este conectado o me tire error que no se pudo conectar, tambien probe que muestre un mensaje mientras esta conectando el problema que si da un error la conexion no me muestra el error hasta que cierro el formulario que habia abierto antes, alguien sabe si el zconection tiene algun evento que detecte si la conexion se hiso corecctamente asi como tiene los otros (afterconect beforeconnect
|
Intenta esto:
// Saludos |
gracias por las respuestas pero todavia no encuentro solucion, si llego a encontrar una forma de hacerlo lo paso o lo escribo.
|
Ok. Te esperamos.
// Saludos |
La franja horaria es GMT +2. Ahora son las 06:27:15. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi