Ver Mensaje Individual
  #2  
Antiguo 13-08-2010
Avatar de DarkMan
DarkMan DarkMan is offline
Miembro
 
Registrado: jul 2006
Posts: 102
Reputación: 19
DarkMan Va por buen camino
Te aconsejo que te informes sobre el procedimiento "Synchronize", porque al parecer no has entendido la dinámica ni el funcionamiento del mismo.

Todo lo que ejecutes en el procedimiento pasado a "Synchronize" se ejecuta en el hilo principal, logrando una sincronización de todos los hilos. Por ello se produce el "cuelgue" de tu aplicación. Ese cuelgue se debe al procedimiento "Sleep", el cual bloquea al hilo durante 1000 milisegundos. Tan solo debes alterar el código como te indico a continuación, ejecutando dicho procedimiento dentro del "Execute" del hilo:

Código Delphi [-]
procedure CambiaTituloEnHilo.Execute;
var
inicio:integer;
begin
  for inicio:=1 to 400 do
  begin
        Synchronize(Actualiza_Ttitulo_Ventana);
        sleep(1000); //Espera un segundo
  end;
end;

Código Delphi [-]
Procedure CambiaTituloEnHilo.Actualiza_Ttitulo_Ventana;
begin
        form1.Caption:=inttostr(inicio);
end;
__________________
"La recompensa de una buena acción está en haberla hecho"
Responder Con Cita