[Lazarus] IDE docking flaw?

Mattias Gaertner nc-gaertnma at netcologne.de
Tue Jun 7 23:35:12 CEST 2011


On Tue, 7 Jun 2011 18:02:09 -0300
Flávio Etrusco <flavio.etrusco at gmail.com> wrote:

> >> >> [...]
> >> > ShowControl existed since revision 5536 in
> >> > the LCL. You can find out such facts with svn blame.
> >>
> >> How are these affected by an added default parameter?
> >
> > Overrides don't compile anymore.
> > If you still don't understand this, please read the fine manual
> > about virtual methods.
> >
> 
> DoDi suggested fixing code imported from Delphi in the converter, but
> yeah, of course there _can_ be external LCL-native or shared code that uses the
> method. But
> is it really any possibility that this is heavily used by somebody? Is
> it really better than add another virtual method (i.e. increase the
> VMT)?

Every incompatibility makes some trouble.

Current ShowControl:
Set Visible of one control to true and switches active parent Pages.

Wanted:
A method to set Visible of control and all its parents to true,
switches active parent Pages, optionally changes Z-Order, optionally
calls BringToFront on top level form, optionally scrolls parent
controls, optionally moves top level form into monitor bounds,
optionally moves top level form to current monitor.

I think the new function is distinct enough to create a new
method.

On the other hand:
ShowControl is only used by Show. The new function may be better fit
for all places where Show is used. If this is the case, then
ShowControl becomes obsolete and this will render the overrides
useless. In that case we have to extend ShowControl and break
compatibility. This needs to be checked.

About size:
If you fear about size, then the new function should not be implemented
at all.

Mattias




More information about the Lazarus mailing list