[Lazarus] TTabControl reverted to it's old implementation

Hans-Peter Diettrich DrDiettrich1 at aol.com
Wed Jul 27 17:44:16 CEST 2011


Martin schrieb:

> In Delphi Child.Top = zero means overlap the tabs (as does it for 
> TGroupBox).

That's the behaviour of the underlying COM control, and since Delphi 
(VCL) only supports Win32 widgets, this has been okay in the past.

> IMHO I see no unsolvable issue, if that was different in Lazarus. The 
> Delphi-Convertor could probably adjust the Top coordinates of a 
> TTabControl's direct children.

Lazarus better should have based the LCL on CLX, instead of the VCL. IMO 
a Delphi GUI designer should use (have used) the CLX for all 
applications that shall be usable on multiple platforms. It really 
doesn't make much sense to support Win32 quirks in Lazarus, or to supply 
an VCL to CLX (gtk, cocoa...) converter, that finally cannot handle 
really all widgetset specific cases.

Delphi designers already had to accept a different component library for 
Kylix, and an never finished library for .NET. They'll have to face 
another different component library in cross-platform Delphi - if such a 
version will ever exist. Lazarus *can not* offer an perfect VCL clone, 
with identical behaviour on all platforms. It's not a good marketing 
argument, that a converter will allow to use every existing Delphi 
application on other platforms, when such a converter only can handle a 
few problems. Instead it should be made clear to the Delphi-to-Lazarus 
migrants, that they may have to modify their GUI themselves, before an 
application will look good and behave properly on other platforms or 
with different widgetsets.


IMO it would make sense when a future Lazarus would support two 
libraries: a Delphi compatible one, with full support on Windows and 
limited support on other platforms, and a cross-platform library with 
(almost) full support on all platforms. This would reduce the 
development efforts to a fraction of the current requirements, 
achievable with the limited number of core developers.

DoDi





More information about the Lazarus mailing list