Einzelnen Beitrag anzeigen

Fishermans

Registriert seit: 6. Jun 2013
Ort: Neustadt (Hessen)
4 Beiträge
 
Delphi 10.2 Tokyo Architect
 
#1

Exception mit der Meldung 'Meldungen müssen im Haupt-UI-Thread angezeigt werden.'

  Alt 4. Jan 2018, 11:08
Hallo,

ich habe Eine Firemonkey Applikation in der ich einen Thread erzeuge.
Nun möchte ich eine einfach Ausgabe des Threads mit Synchronize vornehmen.

Delphi-Quellcode:
type
  TShowInMainForm = procedure(const Content: String) of object;

  TJobListThread = class(TThread)
  private
    { Private-Deklarationen }
    Warte : Boolean;
    FEvent : TEvent;
    FShowInMainForm : TShowInMainForm;
    FContent : String;
  protected
    procedure Execute; override;
  public
    procedure SyncShowInMainForm;
    Constructor Create(Suspended: Boolean);

    property ShowInMainForm : TShowInMainForm read FShowInMainForm write FShowInMainForm;
  end;

procedure TJobListThread.SyncShowInMainForm;
begin
  if Assigned(FShowInMainForm) Then Begin
    FShowInMainForm(FContent);
  End;
end;
Der Aufruf erfolgt mit

Delphi-Quellcode:
Au
  FContent := TSetDeviceTemp(JobList[i]).VarName +'PeerId: '+
                             IntToStr(TSetDeviceTemp(JobList[i]).PeerId);
  Synchronize(SyncShowInMainForm);
Ich hoffe dass das Code Fragment ausreichend ist, ist ja nichts besonderes.
Bisher hat das in meinen Programmen immer fehlerfrei auf diese art funktioniert, nun kommt in meinem
neuen Programm diese Fehlermeldung. Zwar nicht immer, nur ab und zu und ich habe keine Ahnung wieso...

Habe gerade das Update auf Version 10.2.2 gemacht, ich hoffe nicht, dass es daran liegt...
Der Fehler tritt unter Windows auf.


Viele Grüße

Elmar
Elmar Faber
  Mit Zitat antworten Zitat