Michael Schnell schrieb:
On 03/18/2014 09:57 AM, Hans-Peter Diettrich wrote:

The LCL is based on the message queue, regardless of any OS or widgetset. PostMessage is part of the message queue.
Yep. (Even though I prefer the term "Event Queue" as the queued information this is not necessarily similar to Windowish "Messages".)

The message queue is not restricted to events.

In fact there is an Event Queue in the RTL (that is used e.g. for TThread.xxx based events) and an additional Event Queue that handles events based on the GUI the LCL binds to (here the Events are "Messages" if the GUI is Windows). With Windows, the Queue itself is implemented in the OS and only _used_ in the LCL, while with any Linux GUIs, the queue is implemented in the LCL and is fed by Events _generated_ by the GUI (no idea about Mac).

Yes, events fit nicely into a message queue.

The events, created by the window manager and other OS services, must find their way to the component and user handlers, what in most widgetsets is done by calling dedicated callback functions. The parameter lists and events must be unified, so that the LCL can provide a common interface for all user supplied handlers. What's so bad in using the Windows messages for that purpose, and what would be your other way of doing that?

Now, the GUI-attaching "Widget Type" implementations in the LCL merge the events of both queues, while the not GUI-attaching Widget types currently even ignore the RTL based queue.

What's "GUI-attaching"?

You didn't answer my question: which other event handling model would you prefer, for use on any target and widgetset?
Because I don't understand the your meaning here.

Do you understand events at all, their implementation and handling?

[...]
- I don't understand what you intend by mentioning the "mouse input and painting" issue.

Then try to explain how e.g. a key or button press event is processed in your model.

DoDi


--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to