[Lazarus] Even more radical suggestion regarding Event Queues
Michael Schnell
mschnell at lumino.de
Fri Jan 21 10:29:28 CET 2011
On 01/20/2011 01:20 PM, Henry Vermaak wrote:
>
> No, it's very easy to do. At least gtk and qt has dedicated functions
> to do just this (g_main_context_wakeup() and QEventLoop::wakeUp()).
> Lazarus just has to do this after QueueAsyncCall (I do this manually
> myself for the moment).
I suppose this is (or should be) done in WakeMainThread that called by
Synchronize in classes.inc.
But nonetheless my example shows that Synchronize does not work
correctly (only firing the Event when additionally a GUI Event is handled).
Moreover I feel that it would be appropriate to implement
TThread.Synchronize and PostMessage, (plus the yet not existing
PostThreadMessage and TThread.Queue) on top of
TApplication.QueuAsyncCall, so that all of them should work, once
QueuAsyncCall is done.
-Michael
More information about the Lazarus
mailing list