Felipe Monteiro de Carvalho schrieb:
On Thu, Nov 24, 2011 at 6:18 PM, Hans-Peter Diettrich
<[email protected]> wrote:
Q: does the LCL support more than one message queue (the one in
Application)?

There are various event loops:

* Application.Run
* ShowModal makes a loop too
* ProcessMessages has a short lived loop

And user code can also start their own loops by using ProcessMessages

This doesn't answer my question. What's the *source* of the processed messages?

I wouldn't call those loops "event queues", because they don't
implement any kind of queues, they process all events which are
obtained immediately. The events are not stored in queues. The queue
itself is inside the backend library, for example Windows API, X11,
etc.

So what happens on PostMessage, in detail when multiple threads post messages at the same time?

TWidgetSet.SendMessage and PostMessage are both documented as thread-safe. Is this correct, and if so, how is that ensured? Does a SendMessage call bypass any other messages which have been queued until that time? (by dispatching the message immediately to the target?)

What happens in TWidgetset.PeekMessage?

DoDi


--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to