Ver Mensaje Individual
  #3  
Antiguo 15-11-2015
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Reputación: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Estas de buenas, me quedo compilado el demo en cuestion

Revisa la propiedad Animate (Boolean). Cuando esta a True, anima

Para el estilo tenes 3 variantes, controladas por la propeidad IndicatorType

Color solamente dispones entre blanco o negro, revisa la propiedad IndicatorColor

Tambien podes modificar el tamaño, usando la propiedad IndicatorSize

Lee tambien la documentacion


Por otro lado yo siempre recomiendo no usar el Application.ProcessMessages, y mejor utilizar Threads para ejecutar trabajo pesado y que el MainThread siga controlando la UI

Tene en cuenta que la animacion del TActivityIndicator ocurre en el MainThread.

Código Delphi [-]
procedure Calcular;
begin
  Indicator.Animate := True;
  try
    { Ejecutar proceso largo, lo voy a simular con Sleep }
    Sleep(5000);
  finally
    Indicator.Animate := False;
  end;
end;

En ese codigo, al ejecutarse la llamada a Sleep, o bien cuando llamas a un proceso que tarda, el MainThread se congela y asi mismo la animacion, parece que quedo "tildado"

La solucion es ejecutar el trabajo pesado en un thread. Hay un monton de ejemplos por el foro, solo queria puntualizarlo

Última edición por AgustinOrtu fecha: 15-11-2015 a las 16:04:10.
Responder Con Cita