Так меню создается один раз, один единственный раз! Перед созданием меню вы проверяете, не было ли оно уже создано (смотрите в таблице X$Resources) и, если уже оно было создано, больше не создаете. В этом случае будет достаточно после создания ресурса самому запустить Галактику и запустить интерфейс, создав тем самым меню под админом (вы же админ?), а пользователи уже будут просто использовать уже созданное меню и не надо им ничего создавать. Другое дело, в какой момент создавать меню, я привел пример из события инициализации, edward_K предлагает при проверке реестра настроек, делаете так, как считаете правильным. Но пользователям это меню создавать не требуется. Надеюсь, так понятнее. Ну уж, если не получается так, изменяйте меню в саппорте, если есть такая возможность, но это самый неудобный способ, на мой взгляд.
Код: Выделить всё
if(RecordExists X$Resources where (( 3 == X$Resources.XR$Type
and 'MENU L_KATORG::mnuKatOrgEdit' == X$Resources.XR$Name
))
!= tsOk)
{
! меню еще не создавали, создаем
m_Menu := LoadMenuEx ('L_KATORG::mnuKatOrgEdit', true, false);
AddMenuItem(m_Menu, 'Сформировать адрес из внешнего Кладра',cmValue41);
StoreMenuHowDynamics (m_Menu, 'L_KATORG::mnuKatOrgEdit');
DisposeLoadMenu (m_Menu);
}
! блок else в этом случае не нужен - меню уже было создано ранее
Загляните в саппорте в x$Resources, должно все встать на свои места.