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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.04.2010, 10:06   #1  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2494 (89) +++++++++
Регистрация: 20.08.2005
Цитата:
Сообщение от gl00mie Посмотреть сообщение
Более того, передаваться исходно могут вообще данные не того типа, какой вы ожидаете. Например:
X++:
void foo(InventQty _qty)
{
    // ...
}
void bar()
{
    this.foo( 0 );  // здесь передается аргумент типа int, а не real! какие уж там тонкие отличия EDT...
}
При этом приведением типов Аксапта занимается лишь в момент, когда необходимо "вычислить" значение какого-либо выражения с использованием переданного аргумента. Это обсуждалось в теме axaptapedia: Trap typecast.
Вот это совсем не понял.
В момент вызова функции foo() происходит преобразование из int в real и в параметре _qty хранится число в формате плавающей точки

По ссылке, на мой взгляд, показан пример некорректного приведения типов int64->boolean (точнее int64->Enum. Хотя, для boolean выполняется дополнительное преобразование).
Причем, при возврате из функции значения целочисленного типа, в том числе и литерала, приведение идет не к типу Boolean (Enum с Id=0xF000), а к некоему промежуточному енуму с Id = 0x0000 значения которого находятся в диапазоне 0..255.
X++:
Int   i;
boolean test()
{
    return 0x10000000;
}
;
i = test();
info( strfmt('%1', i) );
__________________
Axapta v.3.0 sp5 kr2
Теги
edt, параметры, полезное

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Можно ли программно определить, какая форма активная? Dima_Dima DAX: Программирование 17 19.09.2014 08:55
Как программно определить поля с выбранными галками (печать под итогов)? miaa DAX: Программирование 1 15.09.2006 10:00
Тип проекта if_maks DAX: Программирование 0 20.08.2004 14:30
Никак не могу вьехать, для чего нужны тип счета и тип разноски maloy DAX: Функционал 5 28.03.2004 17:18
Как определить тип Exception DenisS DAX: Программирование 0 25.12.2003 16:53

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

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

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