:- ) 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);