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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.02.2006, 15:17   #1  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,701 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Объект Array
AXAPTA 2.5 SP3

Есть 2 проблемы с использованием объекта Array

PHP код:
static void Job_Array(Args _args)
{
    Array   
_array;
    ;

    
// Проблема 1 - нет автоматической конвертации типов
    
_array = new Array(types::REAL);
    
_array.value(1,1);  && получаю сообщение об ошибкечто передан Intа ожидался Real
    _array
.value(1,1+0.0);  && это "лечение" проблемы

    
// Проблема 2 - разная логика при адресации к "не существующим" элементам
    // при чтении и записи
    
_array = new Array(types::INTEGER);
    print 
_array.value(1);  && получаю ошибку обращение к не существующему элементу

    
// Лечение
    
_array.value(10,1);  && почему-то это ошибки не вызывает  ;) 
    print 
_array.value(1);
    
pause;

С моей точки зрения - это крайне не логичное поведение. Такое поведение сохранилось в старших версиях AXAPTA ?

AXAPTA 2.5 SP3
Старый 02.02.2006, 20:23   #2  
kvan is offline
kvan
Moderator
Аватар для kvan
Дети Юза
 
775 / 49 (3) +
Регистрация: 07.08.2002
Адрес: Donetsk
Цитата:
Сообщение от Владимир Максимов
AXAPTA 2.5 SP3

Есть 2 проблемы с использованием объекта Array
Axapta SP4 FP1 EE
Та же фигня
__________________
С уважением, kvan.
Старый 02.02.2006, 20:34   #3  
kvan is offline
kvan
Moderator
Аватар для kvan
Дети Юза
 
775 / 49 (3) +
Регистрация: 07.08.2002
Адрес: Donetsk
Цитата:
Сообщение от Владимир Максимов
// Проблема 2 - разная логика при адресации к "не существующим" элементам при чтении и записи
_array = new Array(types::INTEGER);
print _array.value(1); // получаю ошибку - обращение к не существующему элементу
Ну если посмотреть в отладчик то видно что в массив пустой - _array => ()
Соответственно элемента с номером 1 просто нет.

Цитата:
Сообщение от Владимир Максимов
// Лечение
_array.value(10,1); // почему-то это ошибки не вызывает
Опять же смотрим в отладчик и видим - _array => (0,0,0,0,0,0,0,0,0,1)
Т.е. обращение выполняется к существующему элементу.
__________________
С уважением, kvan.
Старый 02.02.2006, 22:02   #4  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,952 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
вот еще по теме

X++ иногда не контролирует тип результата метода
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Открыть в новом окне объект из кода miklenew DAX: База знаний и проекты 24 31.01.2023 17:31
gatesasbait: FieldId switch-case on an table's array-type field Blog bot DAX Blogs 0 20.12.2007 20:30
axaptapedia: Array (Foundation class) Blog bot DAX Blogs 0 13.12.2007 22:30

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

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

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