[Lazarus] widgetset roadmap issue query
Michael Schnell
mschnell at lumino.de
Wed Aug 24 13:54:32 CEST 2011
On 08/24/2011 12:24 PM, Marco van de Voort wrote:
> Where? The synchronize queue is in sysutils.
The events created by GUI actions and those created by
TZThread.Synchronize and those created by PostMessage and aimed to
"procedure...message" finally create actions calling the "Dispatch"
mechanism. The current implementation obviously is that several parallel
event queues are done for this. Obviously the main thread needs to wait
until one of those queues changes from empty to not-empty. This "wait
for multiple objects" needs to be implemented "somewhere". I understand
that this is done in the "WidgetType"/"Interface" code that is compiled
depending on the "LCLWidgetType" setting. Unfortunately this code is too
complex to allow for quickly searching (and trying to singlestep crashes
the debugger)
Anyway each single "WidgetType" code needs at lease to provide a hook
for the queue. And thus it might or might not work depending on the
Widget Type. This is what I think should be denoted in the Wiki.
> Please explain.
QueuAsyncCall is a class function of TApplication and TApplication uses
a lot of the WidgetType depending code.
PostMessage with WidgetType Win32 just is an API call and with
WigdgetTpe gtk2 performs something internally to the program and seems
perfectly workable. With fpGUI it does not work. So it obviously depends
on the WidgetType setting.
-Michael
More information about the Lazarus
mailing list