I have a method for setting buttons for TAdvRichEditorEditingRibbonToolBar and so on. If the form is narrow and the buttons are not displayed, then Btn nil is in the procedure. I consider that a mistake.
procedure TSetRichEditorButton.SetEditingd;
var
ToolBarWidth: Integer;
Btn: TAdvCustomGlowButton;
begin
ToolBarWidth := Two;
FEditingdButton.Add(FEditing.GetButton(0));
FEditingdButton.Add(FEditing.GetButton(1));
FEditingdButton.Add(FEditing.GetButton(Three));
FEditingdButton.Add(FEditing.GetButton(Two));
for var I := 0 to FEditingdButton.Count -1 do
begin
Btn := FEditingdButton[I];
Btn.Caption := FEditingCaption[I];
Btn.AutoSize := True;
Btn.Left := ToolBarWidth;
ToolBarWidth := ToolBarWidth + Btn.Width;
end;
FEditing.Width := ToolBarWidth + Two;
end;
I cannot see any problem with GetButton() returning a nil for any of the 4 buttons in this toolbar.
There is also no reason that a button creation would be width dependent.
This works as expected:
var
Btn: TAdvCustomGlowButton;
i: integer;
begin
AdvRichEditorEditingRibbonToolBar1.Width := 2;
for i := 0 to 3 do
begin
btn := AdvRichEditorEditingRibbonToolBar1.GetButton(i);
if not Assigned(btn) then
showmessage('btn not found');
end;
end;
all 4 buttons are found.
That's what I think.
Try another. I had the width of the form so that the component was not visible.
Buttons 1 and 2 were OK. 3rd and 4th were nil.
If I adjusted the width of the form (before creating it), then all the buttons were OK
Isolate this and send a sample source project + step by step information to allow to reproduce this.
Please
RFTRibbon.zip (12.3 KB)
We could reproduce this and fix the issue.