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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.09.2009, 10:46   #1  
ta_and is offline
ta_and
Участник
 
226 / 122 (5) +++++
Регистрация: 26.02.2002
Адрес: СПб
1) На форме создать public метод. Например barCode()
2) В классе для приема выбранного значения использовать переменную типа object

X++:
    object obj;
    ;
        // Более одного ШК
        args = new Args();
        args.name(formStr(FRM_BarCodePlusInvent));
        args.parm(_itemBarCode);
        formrun = ClassFactory.formRunClass(args);
        formrun.init();
        formrun.run();
        formRun.wait();
        obj = formRun;
        barCode = obj.barCode();
Дело в том, что если переменную formRun типизировать типом FormRun, то компилятор не даст вызвать метод, не объявленный в интерфейсе класса FormRun.
Для переменной типа object такие ограничения сняты. Для таких переменных компилятор использует механизм позднего связывания и в момент выполнения ищет необходимый метод в уже созданном реальном объекте, находящемся в этой переменной.
За это сообщение автора поблагодарили: alex55 (1), Alexx7 (1), mikki_messer (1).
Старый 28.09.2009, 10:56   #2  
s.alex is offline
s.alex
Участник
 
28 / 10 (1) +
Регистрация: 07.06.2007
Цитата:
Сообщение от ta_and Посмотреть сообщение
1) На форме создать public метод. Например barCode()
2) В классе для приема выбранного значения использовать переменную типа object

X++:
    object obj;
    ;
        // Более одного ШК
        args = new Args();
        args.name(formStr(FRM_BarCodePlusInvent));
        args.parm(_itemBarCode);
        formrun = ClassFactory.formRunClass(args);
        formrun.init();
        formrun.run();
        formRun.wait();
        obj = formRun;
        barCode = obj.barCode();
Дело в том, что если переменную formRun типизировать типом FormRun, то компилятор не даст вызвать метод, не объявленный в интерфейсе класса FormRun.
Для переменной типа object такие ограничения сняты. Для таких переменных компилятор использует механизм позднего связывания и в момент выполнения ищет необходимый метод в уже созданном реальном объекте, находящемся в этой переменной.
ЗАРАБОТАЛО!!!!
Спасибо.
Теги
args, возврат, значение, форма

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как правильно получить значение с компонента формы Daido DAX: Программирование 5 05.11.2007 17:37
Как передать значение переменной Аксапты COM-объекту AxaptaUser DAX: Программирование 2 11.07.2007 18:03
как передать значение из диалога в форму, вызываемую через menuItem? алька DAX: Программирование 9 25.06.2007 16:46
Как передать в отчет отфильтрованные данные из формы? ArturK DAX: Программирование 7 23.04.2004 13:59
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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