I've faced a really odd behavior of Delphi VCL Styles. With VCL styles enabled, and when madExcept has the "instantly crash on buffer overrun" option activated, the menus become non-styled.
Turning this option off, or switching it to "instantly crash on buffer UNDERrun" fixes the menus issue.
Questions are: did anyone else encounter this issue? Why it happens and how to fix it?
This issue is caused by a internal call to the
GetClassName
WinAPI function. I just tested and uploaded a fix for that. So you can download the last version of the VCL Styles Utils project from the repository, then add the unitsVcl.Styles.Utils.Menus
,Vcl.Styles.Utils.SysControls
andVcl.Styles.Utils.SysStyleHook
to your project and finally comment or remove the Line (27){$UNDEF UseVCLStyleUtilsMenu}
in the Vcl.Styles.Utils.Menus unit.