For convenient visual design of menus in MCK projects, the mirror components TKOLMainMenu and TKOLPopupMenu have been developed. With the help of the editor of these components (called by double clicking on the component on the form), it is possible to add, remove, move menu items. When you select items in the displayed menu tree, this provides the ability to edit the properties of individual menu items in the Object Inspector.
I will pay special attention to the constants that MCK forms by default for menu items. This, in fact, is a very convenient tool for accessing menu items (and sometimes you still have to access them, for example, to check their Checked state). In my opinion, it is obvious that the line of code
if MainMenu1.ItemChecked [mmOptionOne] then ...
is significantly more informative (and will be correct even after any changes in the menu design!) than
if MainMenu1.ItemChecked [12] then ...
(Or do you think it is not?).
However, if the form uses several different menu components, and the menu items in them remain named N1, N2, ..., i.e. Since the names that were assigned initially have been preserved, then when trying to compile the code, a problem will arise due to the repeated definition of the same constants.
For menu mirrors, MCK has properties generateConstants (by default, true, that is, generate) and generateSeparatorConstants (by default, false). The second property was introduced to prevent MCK menu mirrors from generating such constants for separators in the menu. Usually there is no need to name separators, although there is a situation when you need to refer to the properties of a separator item (for example, its Visible property).
You can also disable the generation of constants for other items, but if you need to access the properties of menu items in dynamics, then it's better to just rename them.