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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.05.2007, 23:03   #1  
Arahnid is offline
Arahnid
Участник
 
880 / 60 (4) ++++
Регистрация: 09.08.2005
Адрес: Moscow
Как получить значение переменной из типа Object
Есть форма исходная. Она имеет значение переменной.
Есть вторичная форма, которая вызывается из исходной формы.
Во вторичной форме в методе init написано
X++:
Object r;
r = args().caller().owner()
r, если смотреть отладчиком, видит переменную исходной формы, но я не знаю как ее получить?
Старый 22.05.2007, 23:38   #2  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
сделать метод на вызывающей форме, который будет возвращать значение переменной:
Код:
Object r = args().caller().owner();
r.getMyVariable();
Старый 23.05.2007, 00:05   #3  
Arahnid is offline
Arahnid
Участник
 
880 / 60 (4) ++++
Регистрация: 09.08.2005
Адрес: Moscow
Цитата:
Сообщение от belugin Посмотреть сообщение
сделать метод на вызывающей форме, который будет возвращать значение переменной:
Код:
Object r = args().caller().owner();
r.getMyVariable();
вот именно так я и думала, создав метод формы, но он почему-то невиден. Он вообще не видит методов формы.
метод написан такой
X++:
public ExpensesJournalTable  JournalTable()
{
    return _jNum;
}

Последний раз редактировалось Arahnid; 23.05.2007 в 00:08.
Старый 23.05.2007, 01:42   #4  
Dozer is offline
Dozer
Участник
AxAssist
Соотечественники
 
107 / 24 (1) +++
Регистрация: 16.11.2004
Адрес: г. Калгари, Канада
Он и не будет его видеть. Метод нужно вызвать принудительно.
Но если реально такого метода на объекте небудет, возникнет ошибка времени исполнения. Так что осторожнее.
__________________
С уважением, Dozer
Старый 23.05.2007, 08:30   #5  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Проверить наличие метода на форме можно с помощью вызова SysFormRun::hasMethod()
__________________
Axapta v.3.0 sp5 kr2
Старый 23.05.2007, 08:40   #6  
Arahnid is offline
Arahnid
Участник
 
880 / 60 (4) ++++
Регистрация: 09.08.2005
Адрес: Moscow
Цитата:
Сообщение от Dozer Посмотреть сообщение
Он и не будет его видеть. Метод нужно вызвать принудительно.
Но если реально такого метода на объекте небудет, возникнет ошибка времени исполнения. Так что осторожнее.
Спасибо, принудительно сработало,я просто думала, что так нельзя. Ведь он же всегда предлагает фигню, которую можно использовать.
Старый 23.05.2007, 16:17   #7  
Dozer is offline
Dozer
Участник
AxAssist
Соотечественники
 
107 / 24 (1) +++
Регистрация: 16.11.2004
Адрес: г. Калгари, Канада
А как он может предложить варианты на этапе редактирования, когда он не знает какой тип будет храниться в object во время исполнения?
Вот только это черевато возможными ошибками времени исполнения, но об этом я уже говорил
__________________
С уважением, Dozer
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как получить из элемента enum-а код типа (enum-а)? Romb DAX: База знаний и проекты 12 27.06.2013 16:17
теряется значение переменной laxel DAX: Программирование 3 05.02.2009 10:07
Как получить имя типа расширенного типа velk DAX: Программирование 9 03.08.2006 14:17
Получить значение поля таблицы по номеру (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, время: 21:35.