Einzelnen Beitrag anzeigen

TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.174 Beiträge
 
Delphi 11 Alexandria
 
#13

AW: TMessageManager/SendMessage

  Alt 11. Jan 2020, 12:04
:- ) Jetzt tut das so, wie ich will - danke für alle Hinweise.

Im Formular im FormCreate, um das UI zu aktualisieren:

Code:
  MessageManager := TMessageManager.DefaultManager;
  SubscriptionId := MessageManager.SubscribeToMessage(TMessage<UnicodeString>,
    procedure(const Sender: TObject; const M: TMessage)
    begin
      lblStatus.Text := (M as TMessage<UnicodeString>).Value;
    end);

Eine Methode, die länger braucht, wird so aufgerufen:

Code:
    TTask.Run(procedure()
    begin
      LoadXML(dlgOpenXML.FileName);
    end);
Im LoadXML wird die Info für das Aktualisieren des UI so versandt:

Code:
    TThread.Queue(nil,procedure
    begin
         TMessageManager.DefaultManager.SendMessage(nil, TMessage<UnicodeString>.Create(LTxt) );
    end);
  Mit Zitat antworten Zitat