Страница 1 из 1

cmRunInterface почему не работает

Добавлено: 14 фев 2012, 12:47
Masygreen
Для удобства из своего интерфейса хочу вызвать реестр договоров ...

Код: Выделить всё

iPrj_Menu menu
{
 - 'Удалить запись', cmMenu01,'',hcWindows,,,scMenuContext;

 = 'Основная деятельность', '',, scMenuCtx;
 {
   - 'Договоры', cmRunInterface('L_DOGOVOR::DOGOVOR');
 }

}
Получаю открывающееся окно запуска интерфейсов :( ... почему не запускается идеи есть ?

Re: cmRunInterface почему не работает

Добавлено: 14 фев 2012, 12:53
Алексей
может параметры при вызове указать надо?
Parameters
pVidDog // вид договора
, pTiDk // тип
, pDirect // направление
, pStatus // статус
, pDogovor // ссылка на вышестоящий документ
, pRec
;

Re: cmRunInterface почему не работает

Добавлено: 14 фев 2012, 13:02
Masygreen
пробовал уже так

Код: Выделить всё

- 'Договоры', cmRunInterface('L_DOGOVOR::DOGOVOR(0,0,0,0,comp(0),comp(0))');
в исходниках вызывается так, но у меня тот же результат фиговый:

Код: Выделить всё

- 'Договоры', cmRunInterface('dogovor'), 'Договоры, соглашения к ним, календарные планы',hcDogovorM1DocDog,'',,scMenuCtx;

Re: cmRunInterface почему не работает

Добавлено: 14 фев 2012, 13:17
KATZ
Masygreen писал(а):Получаю открывающееся окно запуска интерфейсов
Значит, параметр не воспринимается в данном контексте.

Если речь о контекстном меню - использовать какую-нибудь несистемную команду, а в ее обработчике вызвать RunInterface.

Re: cmRunInterface почему не работает

Добавлено: 14 фев 2012, 13:31
Masygreen
ну понятно я сделал свой cm а там уже и запустил нужные фейсы... хотелось просто красивее сделать ..

Re: cmRunInterface почему не работает

Добавлено: 14 фев 2012, 18:02
sth73
Не работает только в контекстном меню.
В выпадающем работает.
А чтобы в контекстном заработало, надо в интерфейсе, откуда контекстное стартует, добавлять докомпиляцией свое событие и в его обработчике уже запускать нужный интерфейс.
Как вы и сделали.

Re: cmRunInterface почему не работает

Добавлено: 14 фев 2012, 22:45
Masygreen
sth73 писал(а):Не работает только в контекстном меню.
В выпадающем работает.
А чтобы в контекстном заработало, надо в интерфейсе, откуда контекстное стартует, добавлять докомпиляцией свое событие и в его обработчике уже запускать нужный интерфейс.
Как вы и сделали.
вот же бред %)

Re: cmRunInterface почему не работает

Добавлено: 15 фев 2012, 19:35
sth73
вот же бред %)

Почему?
Я специально интересовался этим вопросом у разработчиков и потом у себя проверял. Все получилось.

p.s. Исхожу из предположения, что новый пункт меню добавлен через support. Возможно это имеет значение.

Re: cmRunInterface почему не работает

Добавлено: 15 фев 2012, 20:35
edward_K
я склонен предполагать, что сие может быть связано с работой других приложений. Сам не раз замечал - жмакаешь F3 а в ответ получаешь черти что.
Ну или сбой по сети и отвал ресурса. Проверте на локальном компе не в вашей сети.

Re: cmRunInterface почему не работает

Добавлено: 15 фев 2012, 23:03
sth73
edward_K писал(а):я склонен предполагать, что сие может быть связано с работой других приложений. Сам не раз замечал - жмакаешь F3 а в ответ получаешь черти что.
Ну или сбой по сети и отвал ресурса. Проверте на локальном компе не в вашей сети.
Нет, нет.
Стояла именно задача запустить свой интерфейс из меню галактики.
Сначала попробовал добавить свой пункт меню в локальное меню интерфейса при помощи supportа (это получилось), а затем через него запускать уже интерфейс.
После долгих попыток понять почему же при использовании нового пункта меню, несмотря на всякие разные способы задания команды вызова, всегда появляется список всех интерфейсов, пришлось провести консультацию с разработчиками. Был получен однозначный ответ, что запуск своего интерфейса из контекстного меню сейчас невозможен в принципе и если уж совсем приперло, то надо определять свою команду в этом интерфейсе, ее указывать в качестве команды запуска для нового пункта меню и уже из обработчика этого добавленного события запускать свой интерфейс.
А вот не из локального меню, добавленного supportом запуск своего интерфейса напрямую без всяких выкрутасов вполне возможен. Что потом и было успешно сделано. Заодно это было логичнее с точки зрения работы пользователя с новым интерфейсом. Подчеркну, что речь идет именно о меню, добавленном через support. Про другие случаи не говорю.
Так что это особенность работы атлантиса, сетевые сбои здесь не виноваты.

Re: cmRunInterface почему не работает

Добавлено: 22 фев 2012, 15:46
Screw
sth73 писал(а):После долгих попыток понять почему же при использовании нового пункта меню, несмотря на всякие разные способы задания команды вызова, всегда появляется список всех интерфейсов,
Проверьте, не загружен ли у Вас LingvoAgent (иконка с жёлтой книжкой в System Tray). Эта приблуда предоставляет сервис по автоматическому переводу слов при наведении на них указателя мыши или что-то в этом роде. Интерферирует с Атлантис-приложениями. Выгрузите его, это решит проблему постоянной загрузки не того интерфейса. Правда, использовать cmRunInterface в локальных меню всё равно будет нельзя. Во всяком случае, пока этот функционал не будет целенаправленно доработан или исправлен.