[Lazarus] Using Lazarus for non-graphical apps
Michael Schnell
mschnell at lumino.de
Tue Jan 7 15:05:47 CET 2014
On 01/07/2014 02:22 PM, Michael Van Canneyt wrote:
> I think you misunderstand TThread.Queue. It does not notify the main
> thread.
Yes it does (from the view of the user), when the environment is
decently crafted (in fact it does the same as TThread.synchronize only
that the thread does not wait until the mainthread is finished with
executing the queued procedure). In the end they call "WakeMainThread()"
on that behalf.
> On the contrary, CheckSynchronize needs to be called in order to let
> TThread.Queue do its work.
That is exactly what I meant to say. As well TThread.Queue and
TThread.Synchronize need CheckSynchronize to be called. In fact
CheckSynchronize needs to be called by the main thread and any "queued"
or "synchronized" procedure in the end is executed by being called from
withing CheckSynchronize.
(Sorry if I was unclear.)
-Michael
More information about the Lazarus
mailing list