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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.03.2013, 07:06   #1  
Vasiliusis is offline
Vasiliusis
Участник
 
225 / 13 (1) ++
Регистрация: 30.01.2013
Где находится метод обработки нажатия на MenuItemButton
Добрый день!
В баттон-груп на форме имеется MenuItemButton, в которой определены следующие свойства:
MenuItemType: Display
MenuItemName: Qwerty123

Метод clicked не переопределен. Скажите, где тогда может содержаться метод обработки клика по кнопке?
Старый 06.03.2013, 07:47   #2  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,429 / 1772 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от Vasiliusis Посмотреть сообщение
Добрый день!
В баттон-груп на форме имеется MenuItemButton, в которой определены следующие свойства:
MenuItemType: Display
MenuItemName: Qwerty123

Метод clicked не переопределен. Скажите, где тогда может содержаться метод обработки клика по кнопке?
Хм. Если метод не переопределён - это ещё не значит что его вообще нет. Есть базовая функциональность ядра, которая распологается в системных методах. Их код не доступен ни для изменения ни для просмотра. Но для изменения стандартного поведения системных методов есть возможность перекрыть эти базовые методы. Тогда создаётся пользовательский метод, код которого уже можно увидеть и изменить. А базовый метод вызывается из такого перекрытого метода при помощи ключевого слова super().
Старый 06.03.2013, 08:11   #3  
Vasiliusis is offline
Vasiliusis
Участник
 
225 / 13 (1) ++
Регистрация: 30.01.2013
S.Kuskov, про перекрытие и метод super понятно, вопрос в том, как тогда происходит исполнение кода при нажатии? Метод супер - это исполнение конструктора базового класса, ведь так? Тогда он для всех контроллов данного класса одинаков.

Допустим тогда, что при нажатии на какую-либо кнопку вызывается некая форма. Если это делается в методе super, тогда для каждой кнопки при нажатии вызывались бы те же самые формы, вследствие выше сказанного про одинаковость кода. Однако, при нажатии одной кнопки вызывается одна форма, при нажатии другой - другая... а значит где-то есть метод clicked, либо какой-то другой, который и вызывает для конкретной кнопки конкретную форму, вот его, этот clicked-подобный метод мне и нужно бы найти....
Старый 06.03.2013, 08:38   #4  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,429 / 1772 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от Vasiliusis Посмотреть сообщение
Тогда он для всех контроллов данного класса одинаков.
Именно так.
Цитата:
Сообщение от Vasiliusis Посмотреть сообщение
Допустим тогда, что при нажатии на какую-либо кнопку вызывается некая форма. Если это делается в методе super, тогда для каждой кнопки при нажатии вызывались бы те же самые формы, вследствие выше сказанного про одинаковость кода.
Это если у этих кнопок свойства будут одинаковые. На результат метода влияет же не только заложенный в него алгоритм, но и входные параметры, внутреннее состояние объекта. Описанные в вашем первом сообщении свойства кнопки (MenuItemType и MenuItemName) как раз и влияют на то какое именно действие будет выполняться методом clicked.
Старый 06.03.2013, 08:49   #5  
LeonDerCom is offline
LeonDerCom
Участник
 
45 / 20 (1) +++
Регистрация: 08.10.2012
Vasiliusis
Ну так по умолчанию, в смысле без перекрытия, выполняется супер(), который у каждого объекта (например, у кнопки обычной и МенюИтемской ) различны.

upd PS: А что именно вам необходимо сделать, что так рьяно хочется влезть внутрь?

Последний раз редактировалось LeonDerCom; 06.03.2013 в 08:52.
Старый 06.03.2013, 10:31   #6  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
643 / 347 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
Цитата:
Сообщение от Vasiliusis Посмотреть сообщение
Добрый день!
В баттон-груп на форме имеется MenuItemButton, в которой определены следующие свойства:
MenuItemType: Display
MenuItemName: Qwerty123

Метод clicked не переопределен. Скажите, где тогда может содержаться метод обработки клика по кнопке?
Если для вашего MenuItemButton не перекрыт метод clicked(), ядро системы будет работать с тем MenuItem, который указан в свойствах. Это значит, что если менюитем ссылается на класс, ищите метод main() класса с именем, заданным в свойствах этого менюитема. Если менюитем ссылается на форму или отчет, аналогично ищите форму или отчет по такому же алгоритму.
__________________
// no comments
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Итератор с поддержкой методов обратного вызова для обработки контролов на форме gl00mie DAX: Программирование 18 06.08.2013 22:16
ax-erp: How to pass value from MenuItemButton to a Dialog Class? Blog bot DAX Blogs 0 19.09.2012 20:11
DAX 2009,5.0.1000.52 SP1 в таблице smmBusRelTable отсутствует метод convert2Customer Murlin DAX: Программирование 8 11.11.2009 16:23
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38
Передача массива VARIANTов в Automation метод Maximin DAX: Программирование 0 09.10.2002 19:31

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 12:22.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.