![]() |
Exception mit der Meldung 'Meldungen müssen im Haupt-UI-Thread angezeigt werden.'
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:
Der Aufruf erfolgt mit
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;
Delphi-Quellcode:
Ich hoffe dass das Code Fragment ausreichend ist, ist ja nichts besonderes.
Au
FContent := TSetDeviceTemp(JobList[i]).VarName +'PeerId: '+ IntToStr(TSetDeviceTemp(JobList[i]).PeerId); Synchronize(SyncShowInMainForm); 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 |
AW: Exception mit der Meldung 'Meldungen müssen im Haupt-UI-Thread angezeigt werden.'
Oh bin ich ein ESEL!!!! :oops:
Ich habe eine Procedure innerhalb des Threads aufgerufen in der im Fehlerfalle TDialogService.ShowMessage('...'); aufgerufen wurde, das ist natürlich die Ursache gewesen... Immer wenn es Verbindungsprobleme mit dem XML-RPC Server gab trat dann diese Fehlermeldung auf Grüße Elmar |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:54 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz