[Lazarus] Sending messages

Michael Schnell mschnell at lumino.de
Thu Nov 24 10:12:25 CET 2011


On 11/24/2011 08:44 AM, Hans-Peter Diettrich wrote:
> While the WinAPI sends window messages to the thread, that created 
> (owns) the window, LCLIntf docs say that all messages go to the 
> application message loop.
AFIK, in Windows, it is possible to create (or just use ? ) an Event 
Queue (aka "message loop") for worker threads. This is not supported by 
the LCL (nor the Delphi VCL) as the LCL and VCL code is done in a 
non-reenrant way (supposedly for performance purpose). So this 
Windows-supported feature can't be used. With non-Windows 
LCLWidgetTypes, the EventQueue is done "manually" in the appropriate 
WidgetType related files of the LCL. But here (of course) again only a 
single EventQueue (for the main thread) is supported. In theory you 
could create another TApplication object to create another Event queue, 
but for sure this will crash because of non-reentrancy issues.

-Michael




More information about the Lazarus mailing list