[DUG] Firemonkey threading
Todd Martin
todd.martin.nz at gmail.com
Thu Nov 23 14:51:53 NZDT 2017
It's hard to comment without seeing any code.
You shouldn't need to call checksynchronize(). You should only update the
GUI on the main thread by triggering thread.synchronized events.
Todd
On 23 Nov 2017 2:42 p.m., "Jan Bakuwel" <jan.bakuwel at omiha.com> wrote:
> Hi all,
>
> I'm finishing a Firemonkey application built with XE5 targeting Windows
> and MacOS.
>
> The application is multithreaded and works a charm on Windows.
>
> On MacOS however, the GUI becomes unresponsive (ie. clicking on buttons
> doesn't do anything) once the threads are getting underway (doing lots
> of network traffic). GUI updates (by the threads) are taking place
> though (ie. the GUI is not completely frozen, it just doesn't accept any
> keyboard/mouse input).
>
> After learning this is likely caused by a bug in the XE5 RTL, I've added
> a timer that calls System.Classes.CheckSynchronize in the main thread
> frequently if the application runs on MacOS.
> I've even set up (syslog) logging, so I can confirm/see that
> System.Classes.CheckSynchronize indeed gets called frequently.
>
> Yet, the GUI only becomes responsive again once the threads terminate.
>
> I'm a bit crossed-eyed from looking at this; is there anyone out there
> with a suggestion (other than upgrade to Tokyo ;-) ).
>
> thanks,
> Jan
>
>
>
>
>
> _______________________________________________
> NZ Borland Developers Group - Delphi mailing list
> Post: delphi at listserver.123.net.nz
> Admin: http://delphi.org.nz/mailman/listinfo/delphi
> Unsubscribe: send an email to delphi-request at listserver.123.net.nz with
> Subject: unsubscribe
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://listserver.123.net.nz/pipermail/delphi/attachments/20171123/f11dc4b1/attachment.html
More information about the Delphi
mailing list