I have a fnc tool bar, with a fnc tool bar button which drops down a panel with a standard fncbutton that tries to execute OpenDialog in the OnClick. The Execute fails with an AV - raised exception $C0000005 access violation at 0x750cb3d8 of address 0xfeeefeee.
Using a tool bar button as a button with no drop down control and calling OpenDialog1.Execute works fine.
The latest core 1.4.0.1 and uipack 2.6.0.1 are installed. Delphi 10.3.2
Can you see what I am doing wrong ?
Thanks,
Sue
Code
unit toolbartest;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
FMX.TMSFNCTypes, FMX.TMSFNCUtils, FMX.TMSFNCGraphics, FMX.TMSFNCGraphicsTypes,
FMX.Controls.Presentation, FMX.StdCtrls, FMX.TMSFNCButton, FMX.TMSFNCPanel,
FMX.TMSFNCToolBar, FMX.TMSFNCCustomControl;
type
TForm3 = class(TForm)
TMSFNCToolBar1: TTMSFNCToolBar;
TMSFNCToolBarButton1: TTMSFNCToolBarButton;
TMSFNCPanel1: TTMSFNCPanel;
TMSFNCButton1: TTMSFNCButton;
OpenDialog1: TOpenDialog;
procedure TMSFNCButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
{$R *.fmx}
procedure TForm3.TMSFNCButton1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
end;
end;
end.
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
FMX.TMSFNCTypes, FMX.TMSFNCUtils, FMX.TMSFNCGraphics, FMX.TMSFNCGraphicsTypes,
FMX.Controls.Presentation, FMX.StdCtrls, FMX.TMSFNCButton, FMX.TMSFNCPanel,
FMX.TMSFNCToolBar, FMX.TMSFNCCustomControl;
type
TForm3 = class(TForm)
TMSFNCToolBar1: TTMSFNCToolBar;
TMSFNCToolBarButton1: TTMSFNCToolBarButton;
TMSFNCPanel1: TTMSFNCPanel;
TMSFNCButton1: TTMSFNCButton;
OpenDialog1: TOpenDialog;
procedure TMSFNCButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
{$R *.fmx}
procedure TForm3.TMSFNCButton1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
end;
end;
end.
Form
object Form3: TForm3
Left = 0
Top = 0
Caption = 'Form3'
ClientHeight = 480
ClientWidth = 640
FormFactor.Width = 320
FormFactor.Height = 480
FormFactor.Devices = [Desktop]
DesignerMasterStyle = 0
object TMSFNCToolBar1: TTMSFNCToolBar
Align = Top
Size.Width = 640.000000000000000000
Size.Height = 30.000000000000000000
Size.PlatformDefault = False
TabOrder = 0
Appearance.Fill.Kind = gfkGradient
Appearance.Fill.ColorTo = xFFE6E6E6
Appearance.Stroke.Color = claGray
Appearance.SeparatorStroke.Color = claWhite
CompactBitmaps = <>
CompactAppearance.NormalFill.Kind = gfkGradient
CompactAppearance.NormalFill.Color = xFFF9FBFC
CompactAppearance.NormalFill.ColorTo = xFFE6EBEB
CompactAppearance.NormalFill.ColorMirror = xFFDCDCEC
CompactAppearance.NormalFill.ColorMirrorTo = xFFDCE1EC
CompactAppearance.NormalStroke.Color = claGray
CompactAppearance.HoverFill.Kind = gfkGradient
CompactAppearance.HoverFill.Color = xFFE5E7E8
CompactAppearance.HoverFill.ColorTo = xFFD2D7D7
CompactAppearance.HoverFill.ColorMirror = xFFC8C8D8
CompactAppearance.HoverFill.ColorMirrorTo = xFFC8CDD8
CompactAppearance.HoverStroke.Color = claGray
CompactAppearance.DownFill.Kind = gfkGradient
CompactAppearance.DownFill.Color = xFFDBDDDE
CompactAppearance.DownFill.ColorTo = xFFC8CDCD
CompactAppearance.DownFill.ColorMirror = xFFBEBECE
CompactAppearance.DownFill.ColorMirrorTo = xFFBEC3CE
CompactAppearance.DownStroke.Color = claGray
CompactAppearance.DisabledFill.Color = claLightgray
CompactAppearance.DisabledStroke.Color = claGray
QuickMenuButtonAppearance.NormalFill.Kind = gfkGradient
QuickMenuButtonAppearance.NormalFill.Color = xFFF9FBFC
QuickMenuButtonAppearance.NormalFill.ColorTo = xFFE6EBEB
QuickMenuButtonAppearance.NormalFill.ColorMirror = xFFDCDCEC
QuickMenuButtonAppearance.NormalFill.ColorMirrorTo = xFFDCE1EC
QuickMenuButtonAppearance.NormalStroke.Color = claGray
QuickMenuButtonAppearance.HoverFill.Kind = gfkGradient
QuickMenuButtonAppearance.HoverFill.Color = xFFE5E7E8
QuickMenuButtonAppearance.HoverFill.ColorTo = xFFD2D7D7
QuickMenuButtonAppearance.HoverFill.ColorMirror = xFFC8C8D8
QuickMenuButtonAppearance.HoverFill.ColorMirrorTo = xFFC8CDD8
QuickMenuButtonAppearance.HoverStroke.Color = claGray
QuickMenuButtonAppearance.DownFill.Kind = gfkGradient
QuickMenuButtonAppearance.DownFill.Color = xFFDBDDDE
QuickMenuButtonAppearance.DownFill.ColorTo = xFFC8CDCD
QuickMenuButtonAppearance.DownFill.ColorMirror = xFFBEBECE
QuickMenuButtonAppearance.DownFill.ColorMirrorTo = xFFBEC3CE
QuickMenuButtonAppearance.DownStroke.Color = claGray
QuickMenuButtonAppearance.DisabledFill.Color = claLightgray
QuickMenuButtonAppearance.DisabledStroke.Color = claGray
Font.Name = 'Segoe UI'
object TMSFNCToolBarButton1: TTMSFNCToolBarButton
Position.X = 9.000000000000000000
Position.Y = 3.000000000000000000
Size.Width = 100.000000000000000000
Size.Height = 24.000000000000000000
Size.PlatformDefault = False
TabOrder = 1
Font.Name = 'Segoe UI'
DropDownKind = ddkDropDown
DropDownHeight = 275.000000000000000000
DropDownWidth = 200.000000000000000000
DropDownControl = TMSFNCPanel1
Bitmaps = <>
LargeLayoutBitmaps = <>
DisabledBitmaps = <>
HoverBitmaps = <>
LargeLayoutDisabledBitmaps = <>
LargeLayoutHoverBitmaps = <>
Appearance.InnerStroke.Color = claWhite
Appearance.NormalFill.Kind = gfkGradient
Appearance.NormalFill.Color = xFFF9FBFC
Appearance.NormalFill.ColorTo = xFFE6EBEB
Appearance.NormalFill.ColorMirror = xFFDCDCEC
Appearance.NormalFill.ColorMirrorTo = xFFDCE1EC
Appearance.NormalStroke.Color = claGray
Appearance.HoverFill.Kind = gfkGradient
Appearance.HoverFill.Color = xFFE5E7E8
Appearance.HoverFill.ColorTo = xFFD2D7D7
Appearance.HoverFill.ColorMirror = xFFC8C8D8
Appearance.HoverFill.ColorMirrorTo = xFFC8CDD8
Appearance.HoverStroke.Color = claGray
Appearance.DownFill.Kind = gfkGradient
Appearance.DownFill.Color = xFFDBDDDE
Appearance.DownFill.ColorTo = xFFC8CDCD
Appearance.DownFill.ColorMirror = xFFBEBECE
Appearance.DownFill.ColorMirrorTo = xFFBEC3CE
Appearance.DownStroke.Color = claGray
Appearance.DisabledFill.Color = claLightgray
Appearance.DisabledStroke.Color = claGray
ControlIndex = 0
end
end
object TMSFNCPanel1: TTMSFNCPanel
Padding.Top = 28.000000000000000000
Position.X = 92.000000000000000000
Position.Y = 124.000000000000000000
Size.Width = 200.000000000000000000
Size.Height = 275.000000000000000000
Size.PlatformDefault = False
TabOrder = 1
Sections = <>
SectionsAppearance.Font.Name = 'Segoe UI'
SectionsAppearance.Fill.Color = xFFF0F0F0
Header.Text = 'Header'
Header.Font.Name = 'Segoe UI'
Header.Fill.Color = xFFE4E4E4
Footer.Text = 'Footer'
Footer.Font.Name = 'Segoe UI'
Footer.Fill.Color = xFFE4E4E4
object TMSFNCButton1: TTMSFNCButton
Font.Name = 'Segoe UI'
WordWrapping = False
Size.Width = 100.000000000000000000
Size.Height = 22.000000000000000000
Size.PlatformDefault = False
Position.X = 8.000000000000000000
Position.Y = 36.000000000000000000
TabOrder = 0
Text = 'TMSFNCButton1'
OnClick = TMSFNCButton1Click
end
end
object OpenDialog1: TOpenDialog
Left = 454
Top = 136
end
end
Left = 0
Top = 0
Caption = 'Form3'
ClientHeight = 480
ClientWidth = 640
FormFactor.Width = 320
FormFactor.Height = 480
FormFactor.Devices = [Desktop]
DesignerMasterStyle = 0
object TMSFNCToolBar1: TTMSFNCToolBar
Align = Top
Size.Width = 640.000000000000000000
Size.Height = 30.000000000000000000
Size.PlatformDefault = False
TabOrder = 0
Appearance.Fill.Kind = gfkGradient
Appearance.Fill.ColorTo = xFFE6E6E6
Appearance.Stroke.Color = claGray
Appearance.SeparatorStroke.Color = claWhite
CompactBitmaps = <>
CompactAppearance.NormalFill.Kind = gfkGradient
CompactAppearance.NormalFill.Color = xFFF9FBFC
CompactAppearance.NormalFill.ColorTo = xFFE6EBEB
CompactAppearance.NormalFill.ColorMirror = xFFDCDCEC
CompactAppearance.NormalFill.ColorMirrorTo = xFFDCE1EC
CompactAppearance.NormalStroke.Color = claGray
CompactAppearance.HoverFill.Kind = gfkGradient
CompactAppearance.HoverFill.Color = xFFE5E7E8
CompactAppearance.HoverFill.ColorTo = xFFD2D7D7
CompactAppearance.HoverFill.ColorMirror = xFFC8C8D8
CompactAppearance.HoverFill.ColorMirrorTo = xFFC8CDD8
CompactAppearance.HoverStroke.Color = claGray
CompactAppearance.DownFill.Kind = gfkGradient
CompactAppearance.DownFill.Color = xFFDBDDDE
CompactAppearance.DownFill.ColorTo = xFFC8CDCD
CompactAppearance.DownFill.ColorMirror = xFFBEBECE
CompactAppearance.DownFill.ColorMirrorTo = xFFBEC3CE
CompactAppearance.DownStroke.Color = claGray
CompactAppearance.DisabledFill.Color = claLightgray
CompactAppearance.DisabledStroke.Color = claGray
QuickMenuButtonAppearance.NormalFill.Kind = gfkGradient
QuickMenuButtonAppearance.NormalFill.Color = xFFF9FBFC
QuickMenuButtonAppearance.NormalFill.ColorTo = xFFE6EBEB
QuickMenuButtonAppearance.NormalFill.ColorMirror = xFFDCDCEC
QuickMenuButtonAppearance.NormalFill.ColorMirrorTo = xFFDCE1EC
QuickMenuButtonAppearance.NormalStroke.Color = claGray
QuickMenuButtonAppearance.HoverFill.Kind = gfkGradient
QuickMenuButtonAppearance.HoverFill.Color = xFFE5E7E8
QuickMenuButtonAppearance.HoverFill.ColorTo = xFFD2D7D7
QuickMenuButtonAppearance.HoverFill.ColorMirror = xFFC8C8D8
QuickMenuButtonAppearance.HoverFill.ColorMirrorTo = xFFC8CDD8
QuickMenuButtonAppearance.HoverStroke.Color = claGray
QuickMenuButtonAppearance.DownFill.Kind = gfkGradient
QuickMenuButtonAppearance.DownFill.Color = xFFDBDDDE
QuickMenuButtonAppearance.DownFill.ColorTo = xFFC8CDCD
QuickMenuButtonAppearance.DownFill.ColorMirror = xFFBEBECE
QuickMenuButtonAppearance.DownFill.ColorMirrorTo = xFFBEC3CE
QuickMenuButtonAppearance.DownStroke.Color = claGray
QuickMenuButtonAppearance.DisabledFill.Color = claLightgray
QuickMenuButtonAppearance.DisabledStroke.Color = claGray
Font.Name = 'Segoe UI'
object TMSFNCToolBarButton1: TTMSFNCToolBarButton
Position.X = 9.000000000000000000
Position.Y = 3.000000000000000000
Size.Width = 100.000000000000000000
Size.Height = 24.000000000000000000
Size.PlatformDefault = False
TabOrder = 1
Font.Name = 'Segoe UI'
DropDownKind = ddkDropDown
DropDownHeight = 275.000000000000000000
DropDownWidth = 200.000000000000000000
DropDownControl = TMSFNCPanel1
Bitmaps = <>
LargeLayoutBitmaps = <>
DisabledBitmaps = <>
HoverBitmaps = <>
LargeLayoutDisabledBitmaps = <>
LargeLayoutHoverBitmaps = <>
Appearance.InnerStroke.Color = claWhite
Appearance.NormalFill.Kind = gfkGradient
Appearance.NormalFill.Color = xFFF9FBFC
Appearance.NormalFill.ColorTo = xFFE6EBEB
Appearance.NormalFill.ColorMirror = xFFDCDCEC
Appearance.NormalFill.ColorMirrorTo = xFFDCE1EC
Appearance.NormalStroke.Color = claGray
Appearance.HoverFill.Kind = gfkGradient
Appearance.HoverFill.Color = xFFE5E7E8
Appearance.HoverFill.ColorTo = xFFD2D7D7
Appearance.HoverFill.ColorMirror = xFFC8C8D8
Appearance.HoverFill.ColorMirrorTo = xFFC8CDD8
Appearance.HoverStroke.Color = claGray
Appearance.DownFill.Kind = gfkGradient
Appearance.DownFill.Color = xFFDBDDDE
Appearance.DownFill.ColorTo = xFFC8CDCD
Appearance.DownFill.ColorMirror = xFFBEBECE
Appearance.DownFill.ColorMirrorTo = xFFBEC3CE
Appearance.DownStroke.Color = claGray
Appearance.DisabledFill.Color = claLightgray
Appearance.DisabledStroke.Color = claGray
ControlIndex = 0
end
end
object TMSFNCPanel1: TTMSFNCPanel
Padding.Top = 28.000000000000000000
Position.X = 92.000000000000000000
Position.Y = 124.000000000000000000
Size.Width = 200.000000000000000000
Size.Height = 275.000000000000000000
Size.PlatformDefault = False
TabOrder = 1
Sections = <>
SectionsAppearance.Font.Name = 'Segoe UI'
SectionsAppearance.Fill.Color = xFFF0F0F0
Header.Text = 'Header'
Header.Font.Name = 'Segoe UI'
Header.Fill.Color = xFFE4E4E4
Footer.Text = 'Footer'
Footer.Font.Name = 'Segoe UI'
Footer.Fill.Color = xFFE4E4E4
object TMSFNCButton1: TTMSFNCButton
Font.Name = 'Segoe UI'
WordWrapping = False
Size.Width = 100.000000000000000000
Size.Height = 22.000000000000000000
Size.PlatformDefault = False
Position.X = 8.000000000000000000
Position.Y = 36.000000000000000000
TabOrder = 0
Text = 'TMSFNCButton1'
OnClick = TMSFNCButton1Click
end
end
object OpenDialog1: TOpenDialog
Left = 454
Top = 136
end
end