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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.09.2006, 12:00   #1  
MrVisual is offline
MrVisual
Участник
 
10 / 16 (1) ++
Регистрация: 17.08.2006
Адрес: Kiev
Как получить Editor e
Если добавить в классе EditorScripts метод, то он появится в списке методов вызываемых по Alt+M.
Например я создал метод void test(Editor e). Как получить из другого класса Editor e, что бы вызвать этот метод из кода или это невозможно?
Старый 07.09.2006, 12:25   #2  
Мариночка is offline
Мариночка
Microsoft Dynamics
Аватар для Мариночка
Сотрудники Microsoft Dynamics
 
75 / 56 (2) ++++
Регистрация: 31.01.2005
Адрес: Киев
Насколько я знаю, нельзя никак, он кернелом передается в ЭдиторСкриптс класс. Можно только создать метод в едитор скриптс и уже оттуда передавать в свой класс.
Старый 07.09.2006, 13:27   #3  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
вопрос: зачем Editor e вне контекста редактора
Старый 07.09.2006, 13:33   #4  
MrVisual is offline
MrVisual
Участник
 
10 / 16 (1) ++
Регистрация: 17.08.2006
Адрес: Kiev
Цитата:
Сообщение от belugin
вопрос: зачем Editor e вне контекста редактора
Мне нужно вызвать метод класса EditorScripts из другого класса. Но не получается, так как в метод нужно передать Editor e.
Старый 07.09.2006, 14:25   #5  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,317 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от MrVisual
Мне нужно вызвать метод класса EditorScripts из другого класса
Не получится. Чтобы Ваша задумка удалась - нужно написать где-то метод - и дергать его из двух мест - EditorScripts и вашего другого класса. Переменная e сама по себе много информации не несет - максимум содержимое выделенного текста и номер строки/столбца.
Если же вам нужен класс Editor для автонаписания кода - то есть к примеру такой класс MemberFunction (наследник TreeNode) с методом setSource - который записывает метод. Этот метод надо при этом не забыть откомпилировать и сохранить.
__________________
Возможно сделать все. Вопрос времени
За это сообщение автора поблагодарили: MrVisual (1).
Старый 07.09.2006, 13:35   #6  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
А какой конкретно редактор ты хочешь передать (допустим, открыто два редактора)
Старый 07.09.2006, 13:37   #7  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
возможно, большей помощи можно получить описав более общую задачу
Старый 07.09.2006, 14:34   #8  
MrVisual is offline
MrVisual
Участник
 
10 / 16 (1) ++
Регистрация: 17.08.2006
Адрес: Kiev
Задача такая, я перекрываю метод onEventGoingIdle() класса Info, добавив туда обработку нажатия какой-либо комбинации клавиш в любом месте аксапты. Далее я работаю в X++ редакторе и, нажимая эту комбинацию клавиш ожидаю выполнение метода. То есть, что бы не лазить в меню. Например комментарии вставлять по нажатию на CTRL+I. Но в метод надо передать Editor e
Старый 07.09.2006, 17:07   #9  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
База знаний ERP : Axapta / Макросы Auto Hotkey

В частности там Alt+C комментирование

К письму присоединен более новый файл
Вложения
Тип файла: rar ax.ahk.rar (759 байт, 83 просмотров)
Старый 07.09.2006, 18:12   #10  
MrVisual is offline
MrVisual
Участник
 
10 / 16 (1) ++
Регистрация: 17.08.2006
Адрес: Kiev
C Auto Hotkey я уже наигрался, не совсем то, что нужно. Хочу реализовать методами аксапты.
Старый 07.09.2006, 18:25   #11  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от MrVisual
C Auto Hotkey я уже наигрался, не совсем то, что нужно. Хочу реализовать методами аксапты.
Ну, в принципе можно пойти по тому же пути: имитировать нажатия клавиш для соответствующих действий. Другой путь вряд ли есть. Советую только нажимать не на alt+m а на {Apps}S - Alt+M не работает, если ошибки в скрипте
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как получить указатель на отчёт когда пользователь выбрал Печать на принтер в просмотрщике, в форму SysPrintForm? rkorchagin DAX: Программирование 10 17.04.2008 11:59
Как получить стек вызовов без изменения кода? Ilia# DAX: Программирование 2 24.01.2006 11:04
Можно ли в одном select`e получить maxof и minof по одному полю? ArturK DAX: Программирование 2 28.04.2004 12:28
Получить значение поля таблицы по номеру (Id) поля Anais DAX: Программирование 2 15.04.2004 13:00
Как получить значение поля Datasource на динамически созданной форме? storer DAX: Программирование 2 14.11.2003 16:41

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

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

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