Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-07-2011
Panasys Panasys is offline
Miembro
 
Registrado: ago 2007
Posts: 88
Poder: 17
Panasys Va por buen camino
Smile 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

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 !

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 sobre Windows 7.

Alguien puede tirarme una soga? No encuentro algo similar, si pongo Double Buffer el comportamiento del form es medio erratico.

Un abrazo y gracias !
Responder Con Cita
  #2  
Antiguo 06-07-2011
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.282
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
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:

Código Delphi [-]
Application.ProcessMessages;
__________________
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.
Responder Con Cita
  #3  
Antiguo 06-07-2011
Panasys Panasys is offline
Miembro
 
Registrado: ago 2007
Posts: 88
Poder: 17
Panasys Va por buen camino
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

Millon de gracias y un abrazo.
Responder Con Cita
  #4  
Antiguo 06-07-2011
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.282
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Panasys Ver Mensaje
...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.
Pues sí va a ser largo para 1 sg.

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.
__________________
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.
Responder Con Cita
  #5  
Antiguo 06-07-2011
Panasys Panasys is offline
Miembro
 
Registrado: ago 2007
Posts: 88
Poder: 17
Panasys Va por buen camino
Si Neftali, debo aprender sobre hilos, y estoy en eso, sacare ahora la version sin hilos y creare una nueva version correjida con hilos, ya que no llego con los tiempos

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 !!!

Mejoramos con Delphi y aprendimos mas de windows tambien !!! (un gran dia)

De todas formas debo dedicarle tiempo a aprender a manejar hilos para que la applicacion este bien hecha.

Muchas gracias.

Saludos !!
Responder Con Cita
  #6  
Antiguo 07-07-2011
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.282
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Panasys Ver Mensaje
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 !!!
Básicamente se trata de que todo lo que se hace en Windows es utilizando mensajes. Simplificando, hay una cola donde todo lo que debes hacer se coloca allí, hasta el pintado de los botones.
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:
Código Delphi [-]
  Application.ProcessMessages

Indicas al sistema de forma expresa que procese mensajes de la cola. A veces interesa y a veces no.
__________________
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.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Compañeros que desaparecen Casimiro Notevi La Taberna 21 10-05-2010 23:50:19
Me desaparecen los datos.... salvanano Impresión 3 12-03-2008 19:19:31
!! Desaparecen registros !! Sick boy Conexión con bases de datos 2 10-09-2004 16:31:38
Desaparecen los permisos TJose Linux 1 13-07-2004 17:47:58
Desaparecen los componentes ... ingel Varios 4 11-06-2003 01:39:03


La franja horaria es GMT +2. Ahora son las 14:18:41.


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