FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
GIF en Mensaje de Espera
Buen día colegas, en mi proyecto, al dar clic en un botón tengo una forma que ''actúa'' como mensaje de espera, en esa forma tengo un .GIF tipo ''loading'' y un label con caption ''Un momento por favor, no cancele el proceso''.
El tema es que al dar clic en el botón, aparece el mensaje de espera, hace las operaciones correspondientes de mi proyecto sin problemas, pero al mostrar un mensaje de finalización
se empieza a reproducir el .gif por así decirlo, no antes de finalizar las tareas.
¿Alguien puede apoyarme con esta pequeña duda? Saludos |
#2
|
|||
|
|||
Has mirado si Formaprincipal esta creado y te retorna la ruta de gif?
|
#3
|
||||
|
||||
Sí, de hecho si se muestra en la forma y todo, pero se visualiza como si fuera un JPG o PNG, sin movimiento, pero al terminar la función del clic y mostrar el mensaje de procedimiento terminado, empieza la animación del gif por así decirlo.
|
#4
|
||||
|
||||
¿Qué componente usas para el gif?
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#5
|
||||
|
||||
#6
|
||||
|
||||
Prueba:
¿Y cuánto dura la tarea que se procesa? a ver si es que dura tan poco que no da tiempo a mostrar el gif. Yo suelo usar TRxGIFAnimator de las RXlib.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#7
|
||||
|
||||
Quizás tengas que usar un thread separado para mostrar tu gif animado. Si se está ejecutando una tarea el control del programa no pasa al gif hasta que termine. Es por eso que debes usar un hilo separado.
Saludos |
#8
|
||||
|
||||
Ya hace unos años que escribí una clase para visualizar un GIF en cualquier ventana, sin componentes y usando un thread. Usa GDI plus , puede cargar el gif desde un archivo o desde un recurso del ejecutable y la diseñé precisamente para independizar el movimiento del gif a las tareas de la aplicación. La publiqué aquí: New GifViewer, versión GDI+ polivalente
Posteriormente hice algún cambio el la versión para C++ para incorporarla a una aplicación precisamente mostrando un "gif de espera" mientras realizaba una tarea. Nunca publiqué los últimos cambios y acabo de adaptarlo a la versión delphi tras la lectura de este hilo. Supongo que puede servir como respuesta, así que publico la última versión de la clase.
Forma de uso desde un archivo:
Desde un recurso:
Saludos. Última edición por escafandra fecha: 19-11-2022 a las 00:48:36. |
#9
|
||||
|
||||
Yo creo que es problema de que el proceso que ejecutas "no deja tiempo", por decirlo así, a que se ejecute la animación del GIF, porque justo después de crerlo debes lanzar la tarea. Como están ambos procesos en el Thread principal de la aplicación tiene más prioridad el proceso. De ahí que al acabar el proceso empiece la animación.
Las 2 soluciones típicas son:
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#10
|
||||
|
||||
Cita:
Estoy de acuerdo en que la solución mejor es un thread para el GIF. Es la forma de que el movimiento sea contínuo, carezca de saltos y pueda comenzar / terminar cuando deseemos. Saludos. |
#11
|
||||
|
||||
Cita:
He ido "a piñón" y no lo había visto.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#12
|
||||
|
||||
Gracias por la UNIT.
|
#13
|
||||
|
||||
Hola escafandra, con tu Unit pude lograr mi objetivo, pero tengo un problema a veces y no logo identificar a que se deba, pero a veces al cerrar mi aplicación salta un error en la función
específicamente en
el stop se queda en
¿Sabrás que pueda ser? por lo que observe, &
tienen valores inaccesibles, saludos. pd: estoy usando Delphi 10.4.2 Última edición por Casimiro Notevi fecha: 20-01-2023 a las 20:05:33. |
#14
|
||||
|
||||
¿Cuantos objetos TGifViewer creas? ¿Los destruyes?
Prueba con este cambio en el destructor:
Saludos. Última edición por escafandra fecha: 21-01-2023 a las 03:34:10. |
#15
|
||||
|
||||
Mejor prueba esta revisión. Es prácticamente idéntica a la anteror pero incopora hEvent como miembro de la clase.
Saludos. |
#16
|
||||
|
||||
Cita:
Buen día, la pruebo el día de hoy y comparto los resultados Saludos. Última edición por Casimiro Notevi fecha: 23-01-2023 a las 17:40:20. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Mensaje de Espera mientras ejecuta algo | mantraxer21 | Varios | 3 | 12-05-2015 13:13:31 |
Mensaje/Ventana de espera mientras se ejecuta un proceso | Adrian Murua | PHP | 1 | 07-03-2012 18:51:23 |
Ventana de Espera | totote | Varios | 6 | 20-05-2008 15:30:47 |
Crear mensaje de espera | juanmdq | Varios | 2 | 23-04-2008 15:01:14 |
Evento que no espera | Juditia | OOP | 2 | 14-10-2004 17:43:23 |
|