[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