Estou desenvolvendo uma tela de "Aguarde" para usar em uma aplicação que faz 
processamento pesado.

Para isso estou criando uma thread que exibe um form com um rxGifAnimator.

Até aqui tubo bem, a thread exibe o form com o gif animado.
Mas quando o processamento pesado na aplicação começa, a thread parece que para 
de processar:

//Aplicacao
   threadv := TThreadAguarde.Create(true);
   threadv.FreeOnTerminate := true;
   threadv.Priority := tpHighest;
   threadv.Resume;  

//quando começa a processr a thread para
  for I := 0 to 900000 do
  begin
    for k := 0 to 9000 do
    begin
            ....
    end;
  end;

//termina a thread
 threadv.terminate;


Execute da thread
procedure TThreadAguarde.Execute;
begin
  { Place thread code here }
 
Synchronize(Showform); //cria e exibe o form
  while not Self.Terminated do
  begin
    sleep(100);   
  end;
  Synchronize(Closeform);//fecha o formulario
end;


Estou usando o
D delphi 2007
SO: Windows 7 32bits
Porcessador: Turion Mobile 64x2 



      

[As partes desta mensagem que não continham texto foram removidas]

Responder a