AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.06.2008, 11:58   #21  
RVS is offline
RVS
Сенбернар
Аватар для RVS
Злыдни
 
696 / 130 (6) +++++
Регистрация: 27.02.2003
Адрес: Королев МО
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Че-то читаю и не втыкаю. Есть параллельная тема Получение экземпляра текущего Editor в которой собсно все обсуждается.
Если у Вас не получается получить экземпляр Editor e - то сделайте просто: удалите весь EditorScripts до dis-слоя, поставьте бряку в методе showScripts (актуально только если у Вас 3-шка - в 4-ке - это другой метод) и попробуйте вызвать какой-либо скрипт как обычно - либо по Alt-M, либо по нажатию кнопки на тулбаре (только не через правую кнопку мыши!). Увидите - что Вы провалитесь в отладчик. Далее - дело техники - ведь уже экземпляр класса Editor у Вас уже есть
Присоединяюсь.

2 sukhanchik : вопрос, IMHO, был в корректной формулировке самого вопроса
__________________
Best Regards,
Roman
Старый 02.06.2008, 12:02   #22  
Alex_KD is offline
Alex_KD
Участник
AxAssist
MCBMSS
Соотечественники
 
522 / 362 (14) ++++++
Регистрация: 06.07.2006
Адрес: Melbourne, Down Under
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Че-то читаю и не втыкаю. Есть параллельная тема Получение экземпляра текущего Editor в которой собсно все обсуждается.
Если у Вас не получается получить экземпляр Editor e - то сделайте просто: удалите весь EditorScripts до dis-слоя, поставьте бряку в методе showScripts (актуально только если у Вас 3-шка - в 4-ке - это другой метод) и попробуйте вызвать какой-либо скрипт как обычно - либо по Alt-M, либо по нажатию кнопки на тулбаре (только не через правую кнопку мыши!). Увидите - что Вы провалитесь в отладчик. Далее - дело техники - ведь уже экземпляр класса Editor у Вас уже есть
В той теме уже есть проект в котором все это реализовано.
Всего-то надо:
  • Послать программно alt+m (для 3ки и 4ки) в текущий редактор,
  • схватить Editor e, понять что это вы вызвали скрипт и не вызывать стандартное меню (сделать return)
  • делать с Editor e все что угодно.
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0
Старый 02.06.2008, 13:14   #23  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,325 / 3548 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
2 Alex_KD: альтернативой посылки Alt+M является программное нажатие кнопки на тулбаре - результат - одинаков (для 3-ки и 4-ки).
Но суть - действий - которые Вы описали - одна и та же.
__________________
Возможно сделать все. Вопрос времени
За это сообщение автора поблагодарили: miklenew (5).
Старый 02.06.2008, 14:19   #24  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Че-то читаю и не втыкаю. Есть параллельная тема Получение экземпляра текущего Editor в которой собсно все обсуждается.
Если у Вас не получается получить экземпляр Editor e - то сделайте просто: удалите весь EditorScripts до dis-слоя, поставьте бряку в методе showScripts (актуально только если у Вас 3-шка - в 4-ке - это другой метод) и попробуйте вызвать какой-либо скрипт как обычно - либо по Alt-M, либо по нажатию кнопки на тулбаре (только не через правую кнопку мыши!). Увидите - что Вы провалитесь в отладчик. Далее - дело техники - ведь уже экземпляр класса Editor у Вас уже есть
Спасибо. Помогло. Пропустил меж глаз сочетание клавиш Alt-M.
Щас вот что не получается
X++:
static void Job13(Args _args)
{
    DLL winApiDLL = new DLL('User32');
    DLLFunction keybd_event = new DLLFunction(winApiDLL, 'keybd_event');
    ;

    keybd_event.arg(ExtTypes::Byte, ExtTypes::Byte, ExtTypes::DWord, ExtTypes::DWord);

    keybd_event.call('18', 0, 0, 0);
    keybd_event.call('77', 0, 0, 0);
    keybd_event.call('77', 0, 1, 0);
    keybd_event.call('18', 0, 1, 0);
}
Alt-M срабатывает, но чёто они потом не отвисают. Клавиатура блокируется (как буд то жму alt) и приходиться жать alt, отвисает можно писать. Не пойму почему.
Старый 02.06.2008, 15:16   #25  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Понял надо двойку ставить было.
X++:
    keybd_event.call('77', 0, 2, 0);
    keybd_event.call('18', 0, 2, 0);
Старый 02.06.2008, 15:27   #26  
Alex_KD is offline
Alex_KD
Участник
AxAssist
MCBMSS
Соотечественники
 
522 / 362 (14) ++++++
Регистрация: 06.07.2006
Адрес: Melbourne, Down Under
Я через SendMessage делал.
В принципе наверное разницы нет.
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0
Теги
winapi

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Axapta WinAPI::SewWindow... кто знает как? UNRW DAX: Программирование 2 26.09.2008 15:28
Dynamics AX Geek: Finding files with WinAPI Blog bot DAX Blogs 0 28.10.2006 16:40
WinAPI. Ссылка (POINT) третьего уровня вложенности Владимир Максимов DAX: Программирование 2 06.02.2006 16:28
WinAPI::getLastError() DreamCreator DAX: Программирование 4 20.06.2005 10:03
WinApi. Удаление файлов глючит. NJD DAX: Программирование 10 05.12.2003 13:31

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 10:01.