Un comentario, una manera mas adecuada de hacer este tipo de animaciones es incorporando un componente Timer (ficha "System") en tu formulario. En el evento OnCreate del formulario colocar los valores iniciales:
Código:
procedure TForm1.FormCreate(Sender: TObject);
begin
ProgressBar1.Position := 0;
ProgressBar1.Step := 1;
ProgressBar1.Max := 100;
ProgressBar1.Min := 0;
Timer1.Interval:=100; //Aquí defines que tan rapido quieres que se realize la cuenta
end;
y al evento OnTimer del timer colocar un código similar a este:
Código:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Label1.Caption := IntToStr(ProgressBar1.Position);
ProgressBar1.StepIt;
If ProgressBar1.Position>99 then ProgressBar1.Step := -1;
If ProgressBar1.Position<1 then ProgressBar1.Step := 1;
end;
Haciéndolo de esta manera permites que los recursos de la PC no se congestionen en tu aplicación.
Para controlar cuando iniciar y detener la animación usa la propiedad Enabled del Timer.
Saludos.