Re: [Lazarus] TFrame improvements

2021-11-30 Thread Juha Manninen via lazarus
On Mon, Nov 29, 2021 at 11:14 PM Ondrej Pokorny via lazarus < lazarus@lists.lazarus-ide.org> wrote: > That is nonsense. I reverted your change. The code user code is just plain > wrong and your change in TFrame doesn't change anything about it. > > Try e.g. : > > procedure TForm1.Button1Click(Send

Re: [Lazarus] TFrame improvements

2021-11-30 Thread Martin Frb via lazarus
On 30/11/2021 00:27, Juha Manninen via lazarus wrote: On Mon, Nov 29, 2021 at 11:14 PM Ondrej Pokorny via lazarus wrote: On 29.11.2021 17:18, Juha Manninen via lazarus wrote: The commit message is not perfect but the committed code is, now that I fully understand the issue.

Re: [Lazarus] TFrame improvements

2021-11-29 Thread Ondrej Pokorny via lazarus
On 30.11.2021 00:27, Juha Manninen via lazarus wrote: On Mon, Nov 29, 2021 at 11:14 PM Ondrej Pokorny via lazarus mailto:lazarus@lists.lazarus-ide.org>> wrote: On 29.11.2021 17:18, Juha Manninen via lazarus wrote: The commit message is not perfect but the committed code is, now th

Re: [Lazarus] TFrame improvements

2021-11-29 Thread Juha Manninen via lazarus
On Mon, Nov 29, 2021 at 11:14 PM Ondrej Pokorny via lazarus < lazarus@lists.lazarus-ide.org> wrote: > On 29.11.2021 17:18, Juha Manninen via lazarus wrote: > > The commit message is not perfect but the committed code is, now that I > fully understand the issue. > > That is nonsense. I reverted you

Re: [Lazarus] TFrame improvements

2021-11-29 Thread Ondrej Pokorny via lazarus
On 29.11.2021 17:18, Juha Manninen via lazarus wrote: On Mon, Nov 29, 2021 at 1:32 PM Ondrej Pokorny via lazarus mailto:lazarus@lists.lazarus-ide.org>> wrote: There are many scenarios when the Canvas cannot be accessed and it is a common mistake to access it when not allowed.

Re: [Lazarus] TFrame improvements

2021-11-29 Thread Martin Frb via lazarus
On 29/11/2021 21:20, Ondrej Pokorny via lazarus wrote: Check TCustomLabel.CalculateSize in lcl\include\customlabel.inc for the solution how to solve this problem correctly in the component's code without any modifications needed in T(Custom)Form or T(Custom)Frame. There, the GetDC(0) is used

Re: [Lazarus] TFrame improvements

2021-11-29 Thread Ondrej Pokorny via lazarus
On 29.11.2021 21:09, Ondrej Pokorny via lazarus wrote: It's basically a very bad idea to force create the handle when the component is loaded (that is what you do when you access the canvas). Check TCustomLabel.CalculateSize in lcl\include\customlabel.inc for the solution how to solve this p

Re: [Lazarus] TFrame improvements

2021-11-29 Thread Ondrej Pokorny via lazarus
On 29.11.2021 17:47, Martin Frb via lazarus wrote: On 29/11/2021 17:18, Juha Manninen via lazarus wrote: It allows a Frame to stand without a parent in the designer or even at runtime in some hypothetical situation(?). Using Canvas outside Paint may not be recommended but it can be done in so

Re: [Lazarus] TFrame improvements

2021-11-29 Thread Ondrej Pokorny via lazarus
On 29.11.2021 17:18, Juha Manninen via lazarus wrote: On Mon, Nov 29, 2021 at 1:32 PM Ondrej Pokorny via lazarus mailto:lazarus@lists.lazarus-ide.org>> wrote: There are many scenarios when the Canvas cannot be accessed and it is a common mistake to access it when not allowed.

Re: [Lazarus] TFrame improvements

2021-11-29 Thread Juha Manninen via lazarus
On Mon, Nov 29, 2021 at 6:47 PM Martin Frb via lazarus < lazarus@lists.lazarus-ide.org> wrote: > I suspect in the Designer it does not stand alone => The designer is the > parent. But I have not checked. > No, it has no parent. That is why it crashed. This is with the default IDE with floating wi

Re: [Lazarus] TFrame improvements

2021-11-29 Thread Martin Frb via lazarus
On 29/11/2021 17:18, Juha Manninen via lazarus wrote: It allows a Frame to stand without a parent in the designer or even at runtime in some hypothetical situation(?). Using Canvas outside Paint may not be recommended but it can be done in some widgetsets. The component's duty is to not crash

Re: [Lazarus] TFrame improvements

2021-11-29 Thread Juha Manninen via lazarus
On Mon, Nov 29, 2021 at 1:32 PM Ondrej Pokorny via lazarus < lazarus@lists.lazarus-ide.org> wrote: > There are many scenarios when the Canvas cannot be accessed and it is a > common mistake to access it when not allowed. > > I didn't study the issue further but to me it looks strange that setting

Re: [Lazarus] TFrame improvements

2021-11-29 Thread Martin Frb via lazarus
On 29/11/2021 12:31, Ondrej Pokorny via lazarus wrote: I didn't study the issue further but to me it looks strange that setting some parameters in CreateParams helps with it. Juha, your commit description "Somehow fixes issue ..." doesn't help to understand your change either. "Setting" is ac

Re: [Lazarus] TFrame improvements

2021-11-29 Thread Ondrej Pokorny via lazarus
On 29.11.2021 12:32, Michael Van Canneyt via lazarus wrote: On Mon, 29 Nov 2021, Martin Frb via lazarus wrote: On 29/11/2021 12:05, Michael Van Canneyt via lazarus wrote: What do you mean 'artificial restrictions' ?  The above is quite standard. IMHO  "if csLoading" tests are also "quite st

Re: [Lazarus] TFrame improvements

2021-11-29 Thread Michael Van Canneyt via lazarus
On Mon, 29 Nov 2021, Martin Frb via lazarus wrote: On 29/11/2021 12:05, Michael Van Canneyt via lazarus wrote: What do you mean 'artificial restrictions' ?  The above is quite standard. IMHO  "if csLoading" tests are also "quite standard" "If HandleCreated" exist too, not sure how widesp

Re: [Lazarus] TFrame improvements

2021-11-29 Thread Ondrej Pokorny via lazarus
On 29.11.2021 11:32, Martin Frb via lazarus wrote: On 29/11/2021 10:52, Juha Manninen via lazarus wrote: Please everybody test issue: https://gitlab.com/freepascal.org/lazarus/lazarus/-/issues/25124 Some components caused an error when placed on a Frame. Now it apparently works. Can somebody p

Re: [Lazarus] TFrame improvements

2021-11-29 Thread Martin Frb via lazarus
On 29/11/2021 12:05, Michael Van Canneyt via lazarus wrote: What do you mean 'artificial restrictions' ?  The above is quite standard. IMHO  "if csLoading" tests are also "quite standard" "If HandleCreated" exist too, not sure how widespread "accessing canvas"  outside paint, is discour

Re: [Lazarus] TFrame improvements

2021-11-29 Thread Martin Frb via lazarus
On 29/11/2021 11:36, Michael Van Canneyt wrote: On Mon, 29 Nov 2021, Martin Frb via lazarus wrote: On 29/11/2021 10:52, Juha Manninen via lazarus wrote: Please everybody test issue: https://gitlab.com/freepascal.org/lazarus/lazarus/-/issues/25124 Some components caused an error when placed o

Re: [Lazarus] TFrame improvements

2021-11-29 Thread Michael Van Canneyt via lazarus
On Mon, 29 Nov 2021, Juha Manninen via lazarus wrote: On Mon, Nov 29, 2021 at 12:36 PM Michael Van Canneyt via lazarus < lazarus@lists.lazarus-ide.org> wrote: On Mon, 29 Nov 2021, Martin Frb via lazarus wrote: - The property accesses "canvas" => that triggers asking for a handle (which is

Re: [Lazarus] TFrame improvements

2021-11-29 Thread Juha Manninen via lazarus
On Mon, Nov 29, 2021 at 12:36 PM Michael Van Canneyt via lazarus < lazarus@lists.lazarus-ide.org> wrote: > > On Mon, 29 Nov 2021, Martin Frb via lazarus wrote: > > - The property accesses "canvas" => that triggers asking for a handle > > (which is created based on CreateParams) > Ah yes, Canvas.

Re: [Lazarus] TFrame improvements

2021-11-29 Thread Michael Van Canneyt via lazarus
On Mon, 29 Nov 2021, Martin Frb via lazarus wrote: On 29/11/2021 10:52, Juha Manninen via lazarus wrote: Please everybody test issue: https://gitlab.com/freepascal.org/lazarus/lazarus/-/issues/25124 Some components caused an error when placed on a Frame. Now it apparently works. Can somebod

Re: [Lazarus] TFrame improvements

2021-11-29 Thread Martin Frb via lazarus
On 29/11/2021 10:52, Juha Manninen via lazarus wrote: Please everybody test issue: https://gitlab.com/freepascal.org/lazarus/lazarus/-/issues/25124 Some components caused an error when placed on a Frame. Now it apparently works. Can somebody please explain why it works. (See my comment there).

[Lazarus] TFrame improvements

2021-11-29 Thread Juha Manninen via lazarus
Please everybody test issue: https://gitlab.com/freepascal.org/lazarus/lazarus/-/issues/25124 Some components caused an error when placed on a Frame. Now it apparently works. Can somebody please explain why it works. (See my comment there). There are also improvements for a custom Frame installed