Ribbon addition problem ToolBar

OS: Debian 10 LXDE 64bit
Lazarus 2.0.12
FPC 3.2.0

TForm1 = class(TForm)

procedure TForm1.FormCreate(Sender: TObject);
begin
TMSFNCRibbon1PageControlPage0.AddToolBar('My Toolbar');
end;

ToolBar work ok!
ToolBarOk

TForm1 = class(TTMSFNCRibbonForm)

procedure TForm1.FormCreate(Sender: TObject);
begin
TMSFNCRibbon1PageControlPage0.AddToolBar('My Toolbar');
BorderIcons := [TBorderIcon.biMaximize, TBorderIcon.biMinimize, TBorderIcon.biSystemMenu];
end;

ToolBar not work!

ToolBarNotOK

We have noticed an issue when inheriting from TTMSFNCRibbonForm and are looking for a solution. For now, please inherit from TForm instead.

Thanks Pieter,

Then he would have a problem:

I have to wait for you to solve it.

TForm1 = class(TTMSFNCRibbonForm)

If I do it this way it works properly

TMSFNCRibbon1.PageControl.Pages.Clear;
TMSFNCRibbon1.PageControl.AddPage('Page ' + IntToStr(0));
TMSFNCRibbon1.PageControl.Pages[0].AddToolBar('My Toolbar');

Maybe it will help you.

Hi,

We have investigated this here and couldn't not immediately reproduce the issue. can you attach a sample?

You saw the problem here:
"We have noticed an issue when inheriting from TTMSFNCRibbonForm and are looking for a solution. For now, please inherit from TForm instead."

This is how I solved the problem:
TForm1 = class(TTMSFNCRibbonForm)

If I do it this way it works properly

TMSFNCRibbon1.PageControl.Pages.Clear;
TMSFNCRibbon1.PageControl.AddPage('Page ' + IntToStr(0));
TMSFNCRibbon1.PageControl.Pages[0].AddToolBar('My Toolbar');

We have seen this issue in the past (reported from another user), so this issue might already be fixed. The thing is, that this might happen in specific circumstances. When we follow the steps above, the issue does not occur here. Can you attach a full working sample that demonstrates this? Perhaps we have missed something, and the fix is not being applied in that specific case.

source:
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, LCLTMSFNCRibbon;

type

{ TForm1 }

TForm1 = class(TTMSFNCRibbonForm)
TMSFNCRibbon1: TTMSFNCRibbon;
TMSFNCRibbon1BottomContainer: TTMSFNCRibbonBottomContainer;
TMSFNCRibbon1Caption: TTMSFNCRibbonCaption;
TMSFNCRibbon1Icon: TTMSFNCRibbonIcon;
TMSFNCRibbon1PageControl: TTMSFNCRibbonPageControl;
TMSFNCRibbon1PageControlContainer: TTMSFNCRibbonContainer;
TMSFNCRibbon1PageControlFileButton: TTMSFNCRibbonFileButton;
TMSFNCRibbon1PageControlPage0: TTMSFNCRibbonPageControlContainer;
TMSFNCRibbon1QAT: TTMSFNCRibbonQAT;
TMSFNCRibbon1SystemMenu: TTMSFNCRibbonSystemMenu;
TMSFNCRibbon1SystemMenuCloseButton: TTMSFNCRibbonSystemMenuToolBarButton;
TMSFNCRibbon1SystemMenuHelpButton: TTMSFNCRibbonSystemMenuToolBarButton;
TMSFNCRibbon1SystemMenuMaximizeButton: TTMSFNCRibbonSystemMenuToolBarButton;
TMSFNCRibbon1SystemMenuMinimizeButton: TTMSFNCRibbonSystemMenuToolBarButton;
TMSFNCRibbon1Wrapper: TTMSFNCRibbonToolBarWrapper;
procedure FormCreate(Sender: TObject);
private

public

end;

var
Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
begin
TMSFNCRibbon1PageControlPage0.AddToolBar('My Toolbar');
BorderIcons := [TBorderIcon.biMaximize, TBorderIcon.biMinimize, TBorderIcon.biSystemMenu];
end;

end.

ToolBarNotOK

two-part toolbar

We are still not able to reproduce this here. Can you try the following code:

TMSFNCRibbon1PageControlPage0.AddToolBar('My Toolbar');
BorderIcons := [TBorderIcon.biMaximize, TBorderIcon.biMinimize, TBorderIcon.biSystemMenu];
TMSFNCRibbon1.Rebuild;