Программирование на Атлантисе (VIP, FCOM, ARD), FastReport
Модераторы: m0p3e , edward_K , Модераторы
Vik
Местный житель
Сообщения: 370 Зарегистрирован: 28 сен 2006, 15:43
Откуда: Санкт-Петербург
Контактная информация:
Сообщение
Vik » 23 сен 2010, 15:48
Нет, тут все просто должно быть. Попробуйте так:
Код: Выделить всё
#Component "L_KATORG"
alter interface KATORG;
create view
var menuID:longint;
as select * from X$Resources(ReadOnly) ;
Window WKATORG
HandleEvent
cmValue41:
{
RunInterface('getaddr_kladr',Katorg.Nrec, Katorg.Name);
};
end
end;
HandleEvent
cmInit :
{
if (Inherited::HandleEvent(cmInit) != heOk)
{
Abort;
Exit;
}
var m_MenuName : string;
var m_Menu : longint;
m_MenuName := 'L_KATORG::mnuKatOrgEdit'
if (RecordExists X$Resources where (( 3 == X$Resources.XR$Type and m_MenuName == X$Resources.XR$Name))
!= tsOk)
{
DeleteMenuHowDynamics (m_MenuName);
m_Menu := LoadMenuEx (m_MenuName, true, false);
AddMenuItem(m_Menu, 'Сформировать адрес из внешнего Кладра',cmValue41);
StoreMenuHowDynamics (m_Menu, m_MenuName);
DisposeLoadMenu (m_Menu);
ReinitHeaderMenu;
}
};//cmInit
end;
end.
Ренат
Постоянный обитатель
Сообщения: 194 Зарегистрирован: 12 сен 2007, 16:34
Откуда: Глазов
Контактная информация:
Сообщение
Ренат » 23 сен 2010, 15:48
edward_K писал(а): значится все таки нужно перехватывать cmHotkey. Местами прописано RunCommand(RunMenu), а местами стоит case RunMenu of
не очень понял что это значит
Ренат
Постоянный обитатель
Сообщения: 194 Зарегистрирован: 12 сен 2007, 16:34
Откуда: Глазов
Контактная информация:
Сообщение
Ренат » 23 сен 2010, 15:53
edward_K писал(а): значится все таки нужно перехватывать cmHotkey. Местами прописано RunCommand(RunMenu), а местами стоит case RunMenu of
не очень понял что это значит
Vik
Местный житель
Сообщения: 370 Зарегистрирован: 28 сен 2006, 15:43
Откуда: Санкт-Петербург
Контактная информация:
Сообщение
Vik » 23 сен 2010, 16:01
А вы проверяли код, который я привел?
Ренат
Постоянный обитатель
Сообщения: 194 Зарегистрирован: 12 сен 2007, 16:34
Откуда: Глазов
Контактная информация:
Сообщение
Ренат » 23 сен 2010, 16:05
Vik Да. Только что проверил. Все правильно работает. Большое Вам спасибо!
Vik
Местный житель
Сообщения: 370 Зарегистрирован: 28 сен 2006, 15:43
Откуда: Санкт-Петербург
Контактная информация:
Сообщение
Vik » 23 сен 2010, 16:50
Немного неправильно написал. К имени меню еще надо добавлять 'MENU ' при поиске в X$RESOURCES.
Ренат
Постоянный обитатель
Сообщения: 194 Зарегистрирован: 12 сен 2007, 16:34
Откуда: Глазов
Контактная информация:
Сообщение
Ренат » 23 сен 2010, 16:57
опять я не понял. Сори. Где нужно добавить "MENU" ?
Vik
Местный житель
Сообщения: 370 Зарегистрирован: 28 сен 2006, 15:43
Откуда: Санкт-Петербург
Контактная информация:
Сообщение
Vik » 23 сен 2010, 17:11
Ренат
Постоянный обитатель
Сообщения: 194 Зарегистрирован: 12 сен 2007, 16:34
Откуда: Глазов
Контактная информация:
Сообщение
Ренат » 23 сен 2010, 17:22
К стыду своему ничего не понял. Щас совсем некогда думать. Надо отладкой заниматся.
Добавил
Код: Выделить всё
const
MENU_PREFFIX : string[5] = 'MENU ';
end;
и исправил
на
Код: Выделить всё
m_MenuName := MENU_PREFFIX +'L_KATORG::mnuKatOrgEdit'
Изменений не заметил. Но все работает!
Vik
Местный житель
Сообщения: 370 Зарегистрирован: 28 сен 2006, 15:43
Откуда: Санкт-Петербург
Контактная информация:
Сообщение
Vik » 23 сен 2010, 18:14
Изменений на глаз было бы и не заметно, просто меню бы у вас при каждом запуске изменялось)
Ренат
Постоянный обитатель
Сообщения: 194 Зарегистрирован: 12 сен 2007, 16:34
Откуда: Глазов
Контактная информация:
Сообщение
Ренат » 27 сен 2010, 19:15
Все было хорошо пока не подключил ресурсник к рабочей Галактике.
При открытии каталога организаций у пользователя появляется сообщение
Код: Выделить всё
Предупреждение
Возникло необработанное исключение
ExMenuItemStateError (ExVip)
У Вас нет прав для удаления меню.
"Да" - Продолжить, "Нет" - Отлаживать в окне отладчика
"Отмена" - Не выдавать больше это сообщение
Да Нет Отмена
Как с этим бороться? Может уже плюнуть и добавить в окно редактирования кнопочку для вызова интерфейса?
Если да, то как это можно сделать?
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188 Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb
Сообщение
edward_K » 27 сен 2010, 19:25
Vik писал(а): Может уже плюнуть и добавить в окно редактирования кнопочку для вызова интерфейса?
ищем "cfsCreateObject ('button'," , при непонятках открываем новую тему. А вообще я уже предлагал добавлять меню в фейсе на добавление своих настроек.
Vik
Местный житель
Сообщения: 370 Зарегистрирован: 28 сен 2006, 15:43
Откуда: Санкт-Петербург
Контактная информация:
Сообщение
Vik » 27 сен 2010, 19:39
edward_K писал(а): Vik писал(а): Может уже плюнуть и добавить в окно редактирования кнопочку для вызова интерфейса?
ищем "cfsCreateObject ('button'," , при непонятках открываем новую тему. А вообще я уже предлагал добавлять меню в фейсе на добавление своих настроек.
Это никак не я писал)) А вообще, не пойму никак, почему возникает затруднение в том, чтобы создать меню под администратором.
Последний раз редактировалось
Vik 27 сен 2010, 19:41, всего редактировалось 1 раз.
Ренат
Постоянный обитатель
Сообщения: 194 Зарегистрирован: 12 сен 2007, 16:34
Откуда: Глазов
Контактная информация:
Сообщение
Ренат » 27 сен 2010, 19:41
Ренат
Постоянный обитатель
Сообщения: 194 Зарегистрирован: 12 сен 2007, 16:34
Откуда: Глазов
Контактная информация:
Сообщение
Ренат » 27 сен 2010, 20:12
Под администратором все работает. Нужно чтобы обычные пользователи заходили и работали с этим меню.