[Lazarus] Hiding a component by changing its parent

Mattias Gaertner nc-gaertnma at netcologne.de
Mon Aug 24 16:43:49 CEST 2015


On Mon, 24 Aug 2015 16:29:49 +0200
Martin Grajcar <maaartinus at gmail.com> wrote:

> In code I'm working on, I've found a pattern like
> 
> PROCEDURE HideIt;
> BEGIN
>   SomeComponent.Visible := FALSE;
>   SomeComponent.Parent := SELF;
>   SomeComponent.Visible := TRUE;
> END;
> 
> PROCEDURE ShowIt(NewParent: TForm);
> BEGIN
>   SomeComponent.Visible := FALSE;
>   SomeComponent.Parent := NewParent;
>   ...some more stuff...
>   SomeComponent.Visible := TRUE;
>   ...some more stuff...
> END;
> 
> I can't really see what it's good for. I guess, the idea was to preserve
> the widget, but the widget seems to get freed immediately in the first
> line. It comes from D7 or older. Does it make sense on Lazarus 1.4 using
> GTK+?

No.
Simply do "SomeComponent.Parent := NewParent;".


Mattias




More information about the Lazarus mailing list