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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.10.2004, 17:16   #30  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,984 / 3273 (117) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
static void TestEnum(Args _args)
{
int i, i2;
real r, r2;
real a = -257;
boolean b;// = a;
//NoYes b;// = a;
;
b = a;
info(strfmt("b = %1", b));
// проверяем что же реально хранится в переменной b и видим что там
// лежит 255, которое расценивается как true в условии if, но !
// которое strFMT не умеет преобразовывать в строку "Да" или в строку "Нет"
i = b;
r = b;

b = true; // а здесь уже будет лежать единичка
info(strfmt("b = %1", b));
i2 = b; // так что strFMT отработает нормально
r2 = b;
info(strFMT('реальное содержимое при копировании в int %1 ; %2 ', i, i2));
info(strFMT('реальное содержимое при копировании в real %1 ; %2 ', r, r2));

}

А все из-за того что фактически вместо boolean используется shortint и при присваивании происходит простое копирование в памяти без проверки типов.
Теги
recid, баг, ошибка, ax3.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
if (record) vs if (record.RecId) kashperuk DAX: Программирование 18 27.11.2008 18:53
Как сформировать RecId Arahnid DAX: Программирование 18 14.07.2008 15:02
поля, содержащие RecId somebody DAX: Программирование 15 16.05.2008 17:50
aEremenko: Дефрагментация RecID Blog bot DAX Blogs 2 06.03.2007 22:25
Два RecId у одной записи таблицы sparur DAX: Программирование 33 18.12.2006 15:56

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

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

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