AXForum  
Zurück   AXForum > Microsoft Dynamics AX > DAX: База знаний и проекты
All
Kennwort vergessen?
Registrieren Forum Rules Hilfe Benutzerliste Heutige Beiträge Suchen

 
 
Themen-Optionen Thema durchsuchen Ansicht
Alt 20.02.2007, 13:01   #1  
alex55 ist offline
alex55
MCTS
MCBMSS
 
224 / 145 (5) +++++
Registriert seit: 13.02.2007
Ort: Москва
Получение экземпляра текущего Editor
Можно ли программно (из кода Аксапты) получить экземпляр текущего Editor (окна с кодом)?
Задача состоит в выполнении с Editor некоторых действий (посредством AxGoToDeclaration) при нажатии UserDefined кнопки в Tabax.

Axapta 3.0 sp4
Alt 20.02.2007, 13:13   #2  
Eldar9x ist offline
Eldar9x
MCTS
Benutzerbild von Eldar9x
Oracle
MCBMSS
 
1.064 / 166 (8) ++++++
Registriert seit: 29.09.2006
Ort: Казань
вот какую идею мне подал Alex_KD, за что ему огромное спасибо
Цитата:
Сообщение от Eldar9x
Подскажите, пожалуйста, каким образом вы получали Handle окна редактора кода

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

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

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

А что хотите сделать такого, если не секрет?
Alt 20.02.2007, 15:08   #5  
alex55 ist offline
alex55
MCTS
MCBMSS
 
224 / 145 (5) +++++
Registriert seit: 13.02.2007
Ort: Москва
Zitat:
Zitat von kashperuk Beitrag anzeigen
Если это окно редактора, то посылайте ему команды для вызова EditorScripts.
(конкретного скрипта, в котором написан ваш код для запоминания объекта Editor туда, куда вам нужно).
То есть через sendMessage по данному хэндлу смоделировать нажатие ALT-M и выбор меню?

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

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

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

Далее в Аксе запустить форму AXEditorToolBar, в едиторе появится дополнительные кнопки на тулбаре - коментарить/раскоментарить.
Думаю по аналогии разобратся в получении Editor e не составит труда.
Angehängte Dateien
Dateityp: zip AxEditor.zip (195,5 KB, 342x aufgerufen)
This post has been rated by: Мариночка (1), Eldar9x (1).
Alt 22.02.2007, 11:49   #16  
Eldar9x ist offline
Eldar9x
MCTS
Benutzerbild von Eldar9x
Oracle
MCBMSS
 
1.064 / 166 (8) ++++++
Registriert seit: 29.09.2006
Ort: Казань
Шикарно, спасибо, то что надо!
Alt 22.02.2007, 14:32   #17  
alex55 ist offline
alex55
MCTS
MCBMSS
 
224 / 145 (5) +++++
Registriert seit: 13.02.2007
Ort: Москва
Zitat:
Zitat von kashperuk Beitrag anzeigen
Как закончите с получением editor и примените для того, чего хотели, можно будет получить код(проект) по почте? (чтобы дополнить проект на axaptapedia)
Хорошо.
This post has been rated by: kashperuk (5).
Alt 30.05.2008, 14:02   #18  
miklenew ist offline
miklenew
Участник
Benutzerbild von miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1.688 / 438 (18) +++++++
Registriert seit: 10.07.2006
Ort: г. Ликино-Дулёво
Zitat:
Zitat von Alex_KD Beitrag anzeigen
Далее в Аксе запустить форму AXEditorToolBar, в едиторе появится дополнительные кнопки на тулбаре - коментарить/раскоментарить.
Чё-то у меня ничего не появилось или я не туда смотрю.
Alt 30.05.2008, 15:04   #19  
Alex_KD ist offline
Alex_KD
Участник
AxAssist
MCBMSS
Соотечественники
 
522 / 362 (14) ++++++
Registriert seit: 06.07.2006
Ort: Melbourne, Down Under
Zitat:
Zitat von miklenew Beitrag anzeigen
Чё-то у меня ничего не появилось или я не туда смотрю.
Ух.
Поставьте Ассист, посмотрите как там сделано.
Почитайте инсталляцию внимательно.

Смотрите картинки - должно выглядеть примерно так(для 4ки).
Miniaturansicht angehängter Grafiken
Klicken Sie auf die Grafik für eine größere Ansicht

Name:	DAX.gif
Hits:	684
Größe:	24,2 KB
ID:	3488   Klicken Sie auf die Grafik für eine größere Ansicht

Name:	AXEditor.gif
Hits:	714
Größe:	27,2 KB
ID:	3489  

__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0
Alt 30.05.2008, 15:37   #20  
miklenew ist offline
miklenew
Участник
Benutzerbild von miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1.688 / 438 (18) +++++++
Registriert seit: 10.07.2006
Ort: г. Ликино-Дулёво
Zitat:
Zitat von Alex_KD Beitrag anzeigen
Ух.
Поставьте Ассист, посмотрите как там сделано.
А причём здесь axassist я спрашиваю про AxEditor. Выложенный здесь проект он работает или нет. И подочто. Я под Ax 3.0 sp1 пробовал.
Stichworte
download, editor script, полезное, axapta

 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
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

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Gehe zu

Рейтинг@Mail.ru
Alle Zeitangaben in WEZ +3. Es ist jetzt 02:31 Uhr.
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.