Ver Mensaje Individual
  #2  
Antiguo 17-03-2009
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.142
Reputación: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Pareciera que ese proceso está consumiendo todos los recursos, de modo que la interfaz de usuario de tu programa queda como paralizada. Normalmente, puede utilizarse la variable global "Application", y su método "ProcessMessages", de modo que des un respiro en el pesado proceso, precisamente, a la interfaz de usuario. Esto se resume así:

Código Delphi [-]
for i := 0 do 100000 do
begin
   // Proceso largo y pesado

   Application.ProcessMessages();

end;

Si algo así no te sirve, el maestro Seoane comentó alguna vez que también era posible hacer respirar a la aplicación usando un "Sleep" de pocos milisegundos, a cada iteración del supuesto proceso pesado. Después, hasta donde yo llego, y, si eso no es suficiente, tal vez convendría plantearse utilizar un "hilo" de ejecución diferente, para llevar a cabo ese proceso en concreto.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita