Einzelnen Beitrag anzeigen

Crocotronic

Registriert seit: 9. Mai 2013
258 Beiträge
 
#1

iOS AniIndicator Problem

  Alt 14. Mai 2013, 18:00
Hallo,
mich beschäfftigt gerade das Objekt "TAniIndicator". Dieser Kreisel soll starten, wenn ein Thread gestartet, und stoppen, wenn ein Event vom Thread aufgerufen wird.
Delphi-Quellcode:
procedure TF_Main.OnThreadFinished(Sender: TObject),
begin
 SetState(false);
 {...}
end;

procedure TF_Main.OnThreadError(Sender: TObject; Error: Exception);
begin
 {Fehlerbehandlung}
end;

procedure TF_Main.SetState(State: Boolean);
begin
 o_status.Visible:= State;
 o_status.Enabled:= State;
end;

procedure TF_Main.Timer1Timer(Sender: TObject);
begin
 if FMyThread.Finished then
 begin
  SetState(true);
  FMyThread:= TMyThread.Create(OnThreadFinished, OnThreadError);
 end;
end;
Was ich nun überhaupt nicht verstehe: Der Kreisel hört nicht auf zu kreiseln! Erst wenn ich nach dem SetState(false) ein Event auslöse (z.B. ButtonClick), dann wird das Objekt angehalten und versteckt. Sowas wie Application.ProcessMessage oder o_status.Repaint bringt nichts. Per Button ein/ausschalten funktioniert.
Komischerweise funktioniert auch folgendes:
Delphi-Quellcode:
procedure TF_Main.Timer1Timer(Sender: TObject);
begin
 SetState(not o_status.Enabled);
end;
Wer kann mir helfen? Ich versteh die Logik einfach nicht...

Viele Grüße
Croco
  Mit Zitat antworten Zitat