On 18/10/2010 12:22, Michael Schnell wrote: > On 10/18/2010 09:57 AM, Michael Van Canneyt wrote: >> >> How else can you do this ? Each widget system uses it's own mechanisms, the >> LCL must somehow unify this, and they did. To remain delphi compatible, they >> based the 'public interface' on the Windows mechanism. > "Windows" is the only OS that provides an Event "Message" queue to the > running applications (in fact Windows even does provide it to any thread, > while Delphi and Lazarus only provide means to use it in the Main Thread). > With all other "Widget Types" (that allow for Event Driven programming) the > Event queue is done in pascal code in the LCL (or MSE library). All these > Widget Types are binding to a GUI Tool set that uses call backs to fire the > GUI events. Theses GUI events need to be scheduled together with Timers and > thread based events, so an Event Queue is implemented in Pascal code. > > A decently versatile central Event Queue implementation (best: in the RTL) > would be usable for all Widget Types. With Windows it needs to be checked if > this leads to a performance degradation (using user space code instead of > doing some additional system calls might in fact even improve the > performance, but with all other Widget types the resulting code flow should > be quite similar and thus performance should stay the same. >
How about a DBUS compatible way (if no DBUS there, have a native surrogate, but if there is DBUS, use it)? Would it not work ? L. [...] > -Michael > -- _______________________________________________ Lazarus mailing list [email protected] http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
