[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