Desaparecen los botones
Hola amigos, tengo una aplicacion con un timer que se ejecuta y cada un segundo corre una funcion, ademas la aplicacion utiliza sockets se comunica con otros dispositivos, hasta aca todo bien :D
El problema es que en algunos momentos (mi aplicacion tiene sobre la derecha una panel con algunos botones como Reconexion, Enviar a la Tray, Cerrar App) literalmente desaparecen ! :confused: Si les paso el puntero del mouse voila! Aparecen! y otra vez por un rato no pasa nada hasta que desaparecen nuevamente. Utilizo Delphi 7 :eek: sobre Windows 7. :cool: Alguien puede tirarme una soga? No encuentro algo similar, si pongo Double Buffer el comportamiento del form es medio erratico. Un abrazo y gracias ! :D |
Tal vez no da tiempo a realizar determinadas tareas y el redibujado del form no da tiempo a que se haga correctamente.
Sólo para probar aumenta el tiempo del timer. Tienes algun for o bucle que haga mucho trabajo. Si lo tienes añade algun:
|
Si, lo tengo, un condicional que chequea 64 variables que levanta de un archivo y luego de procesar la informacion lee un dispositivo via red y si hay una variable modificada escribe nuevamente el archivo, es un proceso medio largo para un segundo.
Voy a leer sobre tu propuesta, no se que es lo que hace pero ya mismo le consulto al amigo F1 :D Millon de gracias y un abrazo. |
Cita:
Más que nada por los accesos a disco que son bastante lentos, y ya no hablesmos del acceso por red. Tal vez debverías empezar a revisar Threads. |
Si Neftali, debo aprender sobre hilos, y estoy en eso, sacare ahora la version sin hilos :rolleyes: y creare una nueva version correjida con hilos, ya que no llego con los tiempos :D
Pero cambio todo con Application.ProcessMessages; y utilice las recetas que aparecen en el foro. No sabia nada de esto ni como realmente funciona windows con los mensajes. Asi que el resultado es mas que positivo !!! :D Mejoramos con Delphi y aprendimos mas de windows tambien !!! (un gran dia):cool: De todas formas debo dedicarle tiempo a aprender a manejar hilos para que la applicacion este bien hecha. Muchas gracias. Saludos !! |
Cita:
Si haces demasiadas cosas, al sistema no le da tiempo de procesar esos mensajes y pasan cosas como lo que a tí te sucede, que los botones no se redibujan. Cuando utilizas:
Indicas al sistema de forma expresa que procese mensajes de la cola. A veces interesa y a veces no. |
La franja horaria es GMT +2. Ahora son las 04:33:02. |
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