Ver Mensaje Individual
  #4  
Antiguo 29-05-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Reputación: 24
seoane Va por buen camino
Vamos a ver si no me lío al intentar explicarme

Una aplicación gráfica tiene lo que llamamos el bucle de mensajes, que se esta ejecutando siempre, en delphi se correspondería al método Application.Run. Este bucle esta procesando continuamente los mensajes, y cuando termina la aplicación se cierra.

Cuando al procesar uno de los mensajes (se pulsa un botón, un timer, etc ...) nos metemos en un bucle que va a tardar un poco en terminar, suele ser recomendable procesar los mensajes para que la aplicación no se congele. Pero tenemos dos inconvenientes, el primero es que los mensajes y se ejecutan dentro del nuevo bucle, es decir se para lo que se esta haciendo dentro del bucle para realizar otras tareas, por lo que si es un proceso critico no parece muy adecuado. El segundo es algo mas "conceptual", a mi no me parece adecuado que el bucle de mensajes, llame otro bucle, que a su vez procese los mensajes, no veo del todo bien esa "duplicidad".

Bueno, después de todo ese rollo , estoy de acuerdo con neftali en que tu programa tiene toda la pinta de necesitar threads. Así los eventos relacionados con los mensajes (botones, timers, etc ...) se ejecutaran por un lado, a su ritmo, y tu bucle se ejecutara por otro lado, sin interferencias, y sin tener que compartir su tiempo con nadie.
Responder Con Cita