Einzelnen Beitrag anzeigen

Benutzerbild von Mavarik
Mavarik

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

Android & Application.Run

  Alt 22. Mär 2023, 13:04
Ich kann mich daran erinnern, das Threading Model von FMX für Android hat sich mal geändert. Aber ich kann mich nicht erinnern wann...

Normalerweise ist ein Application.Run ein Methodenaufruf, der erst dann zurück kommt, wenn die App/Anwendung geschlossen wird...

Nicht so auf Android.

Beispiel:

Delphi-Quellcode:
program Project94;

uses
  System.StartUpCopy,
  System.Messaging,
  FMX.Forms,
  Unit70 in 'Unit70.pas{Form70};

{$R *.res}

var
  S : String;
  IsSet : boolean;

begin
  Application.Initialize;

  S := 'Vorher';
  IsSet := false;
  Form70 := NIL;

  Application.CreateForm(TForm70, Form70);

  TMessageManager.DefaultManager.SubscribeToMessage( TFormsCreatedMessage,
    procedure( const Sender: TObject; const M: TMessage )
      begin
        if Assigned( Form70 ) and not IsSet then
          begin
            Form70.Label1.Text := S;
            IsSet := True;
          end;
      end );

  Application.Run;

  S := 'Nachher';
end.
Was steht auf dem Form? Richtig... "Nachher".

Wegen Java, wollen meine "alten" XE-Versionen nicht und ich habe leider keine VM mehr...

Hat jemand einen Idee?

Grüsse Mavarik
  Mit Zitat antworten Zitat