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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.07.2013, 11:12   #1  
VAlek22 is offline
VAlek22
Участник
 
11 / 12 (1) ++
Регистрация: 16.04.2009
Достучаться до метода класса из callStack
Здравствуйте.

DAX 2009
SQL

Возможно callStack тут не понадобится, упомянул его для наглядности.

Задача следующая, необходимо обработать некое событие в текущем классе, а параметр для обработки находится в классе, который был вызван ранее, причем не прибегать к передаче параметра через args (он не определен).

пример callstack:
\Classes\calcValues\run
.....
\Classes\setParameters\run
\Classes\setParameters\main

Здесь в классе setParameters в переменной "zeroP" установлен некий параметр "Обнулить" (setParameters.getZeroP() )

через цепочку вызовов различных классов вызывается класс calcValues, в котором необходимо учитывать этот параметр setParameters.getZeroP().

ВОПРОС))
как мне создать экземпляр класса setParameters (или обратиться к нему)с уже установленными в нем всеми параметрами и его методами(конкретно setParameters.getZeroP() ) из класса calcValues. При этом не внося изменения в остальные классы(ну за исключением класса calcValues )

если это возможно.

PS
При запуске дебагера, щелкая по всем классам в callStack, могу в окне "variables" смотреть значения, хранящиеся в классах, наверняка можно подобным образом программно достучаться до вызывающих классов.

Спасибо.
Старый 17.07.2013, 12:15   #2  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2922 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Программно теоретически можно, если среверсинжинирить виртуальную машин X++ (см тут) и написать dll которая будет коллестек интерпретировать в нужной форме.

Практически, это очень плохая идея, если речь не идет о какой-нибудь чисто девелоперской трейсовой туле.

Т.к. вносит между классами неявные неконтроллируемые зависимости.

В качесте альтернативы можно, кроме явной передачи конкретного параметра, предусмотреть запизиваения праметра отдельный класс параметров и передачи его между классами. Так можно будет расширять набор параметров, не трогая промежуточных классов.


Еще можно завести глобальную переменную, но я бы не рекомендовал

Последний раз редактировалось belugin; 17.07.2013 в 12:18.
За это сообщение автора поблагодарили: VAlek22 (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Функция внутри метода класса alex_zh DAX: Программирование 8 02.07.2013 14:44
Имя метода класса в переменной. Swordec DAX: Программирование 6 28.06.2013 16:20
Из метода узнать наименование класса-родителя alicedr DAX: Программирование 4 25.01.2013 16:21
Вызов метода базового класса Eldar9x DAX: Программирование 15 22.03.2008 19:10
"Программный" вызов метода класса!? axaLearner DAX: Программирование 13 16.08.2005 08:12
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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