Thema: Delphi 10.2 und Android...

Einzelnen Beitrag anzeigen

Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.144 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: 10.2 und Android...

  Alt 10. Jun 2017, 13:39
PS.: Unnötig zu sagen, dass FMX ohne den OnIdleEvent nicht zu gebrauchen ist...
Das brauchten wir bisher unter Android nicht. Wofür brauchst du das?

Bei uns läuft alles in Threads, was wir vorher mit OnIdle gemacht hatten. Allerdings nicht wegen Android, sondern weil es vorher keine gute Lösung war. (Nutzung für eine asynchrone Eventqueue.)
Beispiel:

Delphi-Quellcode:
Procedure TForm1.ButtonClick(Sender : TObject)
begin // Jegliche Animation: Focus ButtonDown Farbe setzen usw. Läuft im UI-Thread mit einem Timer
  Proc_Dauert_10Sekunden_kann_nichtimThread(true); // Keine Reaktion für den User...
end;
Daher immer:

Delphi-Quellcode:
Procedure TForm1.ButtonClick(Sender : TObject)
begin // Jegliche Animation: Focus ButtonDown Farbe setzen usw. Läuft im UI-Thread mit einem Timer
  TIdleWorker.Default.Execute(Procedure // Wir ausgeführt im nächsten OnIdleEvent...
    begin
      Proc_Dauert_10Sekunden_kann_nichtimThread(true); // Keine Reaktion für den User...
    end);
end;
oder

Delphi-Quellcode:
Procedure TForm1.ListBox1Click(Sender : TObject)
var
  Layout : TLayout;
begin
  Layout := TLayout.Create(NIL);
  Layout.Parent := TListListBoxItem(Sender);
  Layout.Align := TAlignLayout.Client;

  TIdleWorker.Default.Execute(Procedure // Wir ausgeführt im nächsten OnIdleEvent...
    begin
      Whatever := Layout.Height; // Erst korrekt belegt nachdem sich die UI-Fertig aufgebaut hat...
    end);
end;
usw. Aber das war nicht die Frage...

Mavarik
  Mit Zitat antworten Zitat