[Lazarus] Please define "delphi compatibility"
Hans-Peter Diettrich
DrDiettrich1 at aol.com
Sat Oct 6 01:18:04 CEST 2012
Sven Barth schrieb:
> Delphi developers tend to use messages that the Windows control itself
> understands, but are not necessarily handled by the VCL. So these
> messages might also not necessarily be implemented by the LCL at all and
> thus the corresponding messages will be sent for nothing on non-Win32
> widgetsets.
I see. Every widget should recognize and handle its *specific* messages.
When a widget cannot implement the requested functionality, due to
widgetset restrictions, the message is lost of course. The same would
happen when a (handler) method were called directly, instead of sending
the message.
I know that the communication between the LCL and the widgetsets is
based on method calls, instead of messages. This turned out to be
problematic, as can be seen e.g. in the implementation of TTabControl
and TPageControl. These controls cannot implement all the features of
the the Win32 widgets, due to an inappropriate widget interface.
It's also known that many messages *must* be handled by the LCL, in
order to keep the states of an LCL control and its related widget in
sync. This were not necessary when using messages for LCL/widgetset
communication.
Perhaps its clear now why I vote for an additional Windows widgetset,
with a message-driven communication between the widgetset and the native
controls. Then at least on a Windows platform no control messages can
get lost, and the full functionality of the controls is available to the
coders.
DoDi
More information about the Lazarus
mailing list