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 -- _______________________________________________ Lazarus mailing list [email protected] http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
