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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.02.2007, 13:01   #1  
alex55 is offline
alex55
MCTS
MCBMSS
 
224 / 145 (5) +++++
Регистрация: 13.02.2007
Адрес: Москва
Получение экземпляра текущего Editor
Можно ли программно (из кода Аксапты) получить экземпляр текущего Editor (окна с кодом)?
Задача состоит в выполнении с Editor некоторых действий (посредством AxGoToDeclaration) при нажатии UserDefined кнопки в Tabax.

Axapta 3.0 sp4
Старый 20.02.2007, 13:13   #2  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
вот какую идею мне подал Alex_KD, за что ему огромное спасибо
Цитата:
Сообщение от Eldar9x
Подскажите, пожалуйста, каким образом вы получали Handle окна редактора кода

Посмотрите в Spy структуру окошек в Аксапте.
А дальше FindWindowEx(...);
Старый 20.02.2007, 14:41   #3  
alex55 is offline
alex55
MCTS
MCBMSS
 
224 / 145 (5) +++++
Регистрация: 13.02.2007
Адрес: Москва
Цитата:
Сообщение от Eldar9x Посмотреть сообщение
вот какую идею мне подал Alex_KD, за что ему огромное спасибо
Цитата:
Сообщение от Eldar9x
Подскажите, пожалуйста, каким образом вы получали Handle окна редактора кода

Посмотрите в Spy структуру окошек в Аксапте.
А дальше FindWindowEx(...);
Спасибо! По findWindowEx нашел один топик Панель задач в Аксапте.

Но вот что не совсем понятно - если я даже определю Handle окна с кодом - как это поможет объект типа Editor получить...?
Старый 20.02.2007, 14:47   #4  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
По таймеру смотрите активное окно. (В принципе ActiveX для этого врядли нужен. Думаю Аксаптой можно обойтись. - это я про вторую тему по этому поводу)
Если это окно редактора, то посылайте ему команды для вызова EditorScripts.
(конкретного скрипта, в котором написан ваш код для запоминания объекта Editor туда, куда вам нужно).

А что хотите сделать такого, если не секрет?
Старый 20.02.2007, 15:08   #5  
alex55 is offline
alex55
MCTS
MCBMSS
 
224 / 145 (5) +++++
Регистрация: 13.02.2007
Адрес: Москва
Цитата:
Сообщение от kashperuk Посмотреть сообщение
Если это окно редактора, то посылайте ему команды для вызова EditorScripts.
(конкретного скрипта, в котором написан ваш код для запоминания объекта Editor туда, куда вам нужно).
То есть через sendMessage по данному хэндлу смоделировать нажатие ALT-M и выбор меню?

Цитата:
А что хотите сделать такого, если не секрет?
Хочу повесить на свою кнопку в Tabax вызов AxGoToDeclaration.
Старый 20.02.2007, 16:33   #6  
Alex_KD is offline
Alex_KD
Участник
AxAssist
MCBMSS
Соотечественники
 
522 / 362 (14) ++++++
Регистрация: 06.07.2006
Адрес: Melbourne, Down Under
Цитата:
То есть через sendMessage по данному хэндлу смоделировать нажатие ALT-M и выбор меню?
Выбор меню не надо. При нажатии ALT-M отрабатывает ф-я showScripts. Ловите в ней Editor e, записывайте, и вызывайте любую ф-ю.
Старый 21.02.2007, 11:47   #7  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
Цитата:
По findWindowEx нашел один топик Панель задач в Аксапте.
так надо в MSDN смотреть
Старый 21.02.2007, 11:54   #8  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
to Alex_KD: было бы прикольно, если бы привел сам код получения этого самого editorа причем текущего, то есть того в котором мы щас кодим, нужен его handle
Старый 21.02.2007, 13:07   #9  
alex55 is offline
alex55
MCTS
MCBMSS
 
224 / 145 (5) +++++
Регистрация: 13.02.2007
Адрес: Москва
Цитата:
Сообщение от Eldar9x Посмотреть сообщение
так надо в MSDN смотреть
Ок, посмотрю. Я думал, что может есть более "прямой" путь получения Editor методами Аксапты... Что-нибудь типа GetCurrentEditor() Видимо нету, но возможно предлагаемый способ не сильно хуже.

Заодно сделал кнопку для "возврата" на первоначальные место в коде, откуда поиск через AxGoToDeclaration был инициирован - очень удобно. Принцип такой же как в AxGoToDeclaration - сохраняем параметры [e.path(), e.currentLineNo()+1, e.columnNo()+1] через infolog.globalCache().set() в момент вызова скрипта. А для отображения используем метод, аналогичный AxGoToDeclaration.goEditTreeNode().
Старый 21.02.2007, 13:14   #10  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
вот вот, я о том же, в смысле нужна такая функция, так что ждем ответа
Старый 21.02.2007, 13:16   #11  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Как закончите с получением editor и примените для того, чего хотели, можно будет получить код(проект) по почте? (чтобы дополнить проект на axaptapedia)
Старый 21.02.2007, 13:20   #12  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
да ради бога
Старый 21.02.2007, 13:22   #13  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
2 Eldar9x:
Вообще я адрессовал сообщение alex55.
А вы тоже параллельно работаете над этим?
Старый 21.02.2007, 13:34   #14  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
нет, у меня немного другая задача, но для ее решения все равно необходим handle текущего editora
Старый 22.02.2007, 11:39   #15  
Alex_KD is offline
Alex_KD
Участник
AxAssist
MCBMSS
Соотечественники
 
522 / 362 (14) ++++++
Регистрация: 06.07.2006
Адрес: Melbourne, Down Under
Пример получения едитора можно посмотреть в этом проекте.

После распаковке запустите reg.bat (зегистрация компонента).
Далее - экспорт проекта AxEditor.xpo
Проект EditorScripts.xpo - содержит класс EditorScripts с измененной функцией showScripts (там идет запись Editor e). Переносить нужно только ее.

Далее в Аксе запустить форму AXEditorToolBar, в едиторе появится дополнительные кнопки на тулбаре - коментарить/раскоментарить.
Думаю по аналогии разобратся в получении Editor e не составит труда.
Вложения
Тип файла: zip AxEditor.zip (195.5 Кб, 261 просмотров)
За это сообщение автора поблагодарили: Мариночка (1), Eldar9x (1).
Старый 22.02.2007, 11:49   #16  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
Шикарно, спасибо, то что надо!
Старый 22.02.2007, 14:32   #17  
alex55 is offline
alex55
MCTS
MCBMSS
 
224 / 145 (5) +++++
Регистрация: 13.02.2007
Адрес: Москва
Цитата:
Сообщение от kashperuk Посмотреть сообщение
Как закончите с получением editor и примените для того, чего хотели, можно будет получить код(проект) по почте? (чтобы дополнить проект на axaptapedia)
Хорошо.
За это сообщение автора поблагодарили: kashperuk (5).
Старый 30.05.2008, 14:02   #18  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Цитата:
Сообщение от Alex_KD Посмотреть сообщение
Далее в Аксе запустить форму AXEditorToolBar, в едиторе появится дополнительные кнопки на тулбаре - коментарить/раскоментарить.
Чё-то у меня ничего не появилось или я не туда смотрю.
Старый 30.05.2008, 15:04   #19  
Alex_KD is offline
Alex_KD
Участник
AxAssist
MCBMSS
Соотечественники
 
522 / 362 (14) ++++++
Регистрация: 06.07.2006
Адрес: Melbourne, Down Under
Цитата:
Сообщение от miklenew Посмотреть сообщение
Чё-то у меня ничего не появилось или я не туда смотрю.
Ух.
Поставьте Ассист, посмотрите как там сделано.
Почитайте инсталляцию внимательно.

Смотрите картинки - должно выглядеть примерно так(для 4ки).
Миниатюры
Нажмите на изображение для увеличения
Название: DAX.gif
Просмотров: 587
Размер:	24.2 Кб
ID:	3488   Нажмите на изображение для увеличения
Название: AXEditor.gif
Просмотров: 618
Размер:	27.2 Кб
ID:	3489  

__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0
Старый 30.05.2008, 15:37   #20  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Цитата:
Сообщение от Alex_KD Посмотреть сообщение
Ух.
Поставьте Ассист, посмотрите как там сделано.
А причём здесь axassist я спрашиваю про AxEditor. Выложенный здесь проект он работает или нет. И подочто. Я под Ax 3.0 sp1 пробовал.
Теги
download, editor script, полезное, axapta

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axaptapedia: Editor scripts OpenOverriddenMethodDef Blog bot DAX Blogs 0 14.08.2008 02:27
adkotov: Axapta Editor - Suggestions, Autotext, Hotkeys Blog bot DAX Blogs 39 12.02.2008 19:13
casperkamal: Using Editor Scripts Blog bot DAX Blogs 0 20.12.2006 12:50
WebComboBox - получение текущего значения IvanS DAX: Программирование 0 27.11.2006 14:58
Получение текущего списка Range'ей TasmanianDevil DAX: Программирование 4 02.02.2006 09:21

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

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

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