[Lazarus] Delphi incompatible Owner of a floating dock site
Hans-Peter Diettrich
DrDiettrich1 at aol.com
Fri Oct 7 12:47:54 CEST 2011
TControl.CreateFloatingDockSite creates a TWinControl owned by the
floating control. This is a questionable relationship, at least, and
incompatible with Delphi, where the floating dock site is owned by
Application.
A floating dock site can have multiple client (child) controls, and must
not be destroyed until all clients are removed or destroyed.
We can agree, however, that a floating dock site for exactly *one*
control is owned by the control, so that TControl.GetFloating can check
the ownership for exactly this unusual relationship. But then a new
floating dock site must be created, as soon as another control is docked
into the site...
All in all we should have better means for dockable controls, since
non-Windows platforms typically don't allow to drag-dock forms. This
does not mean Delphi incompatibilites at the interface level, but the
*implementation* should work on all platforms.
DoDi
More information about the Lazarus
mailing list