Einzelnen Beitrag anzeigen

Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.477 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: TSwitch wieder deaktivieren?

  Alt 31. Mai 2015, 23:27
Ohne mir das jetzt genauer angesehen zu haben (will jetzt den Matratzenhorchdienst starten), vermute ich mal, dass hier eine Animation verwendet wird, um den Switch gleiten zu lassen. Evtl. ist die Ausführung noch nicht zu Ende und Du versuchst direkt schon wieder den Switch zurückzusetzen und da kommt sich halt irgendwas ins Gehege.

So kannst Du es jedenfalls machen:

Delphi-Quellcode:
procedure TForm14.SetSwitchToFalse;
begin
  Switch1.IsChecked := false;
end;

procedure TForm14.Switch1Switch(Sender: TObject);
var
   T: ITask;
begin
   T := TTask.Create(procedure ()
     begin
       TThread.Synchronize(
       nil,
       procedure
       begin
         Self.SetSwitchToFalse;
       end);
     end);
   T.Start;
end;
  Mit Zitat antworten Zitat