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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.07.2010, 14:09   #1  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
Контейнер: глючит функция conDel()
Всем доброго дня!

Столкнулся с необычными глюками вышеуказанной функции. Тестовый джоб:
X++:
static void Job350(Args _args)
{
    container   con;
    int         idx;
    ;
    /*
    con += ['001','002','003','004','005','006','007','008','009','010','011','012','013','014','015','016','017','018','019','020','021','022','023','024','025','026','027','028','029','030','031'];
    con += ['032','033'];
    con += ['034','035','036','037','038','039','040','041','042','043','044','045','046','047','048','049','050','051','052','053','054','055','056','057','058','059','060','061'];
    con += ['062','063','064','065','066','067','068','069','070','071','072','073','074','075','076','077','078','079','080','081','082','083','084','085','086','087','088','089','090'];
    con += ['091','092','093','094','095','096','097','098','099','100','101','102','103','104','105','106','107','108','109','110','111','112','113','114','115','116','117','118','119','120','121'];
    */

    /*for (idx = 1; idx <= conLen(con); idx++)
        info(conPeek(con, idx));*/

    for (idx = 1; idx <= 150; idx++)
        con = conins(con, /*conLen(con) + */1, num2str0(idx, 3));
    
    conView(con);

    con = conDel(con, 1, 105);
    conView(con);

}
Происходит наполнение контейнера разными способами, а потом удаление первых 105 элементов через ф-ю conDel().

В примере с заполнением в цикле (добавление в конец или в начало в обратном порядке - неважно) при удалении 105 элементов из 150 в контейнере остается 50 вместо 45. Причем остаются элементы с 51 по 100 (с '051' по '100'), т.е. удаление происходит не подряд.

Если закомментировать заполнение в цикле и раскрыть заполнение через '+=', то наблюдаем другой эффект: ни в какую не удаляются элементы из 2й добавляемой строчки (в данном примере это ['032','033']. 2-я строка может быть разной длины, эффект остается.

У меня больше нет слов, одни эмоции.

DAX 4.0 SP2HF1, kernel 4.0.2501.116 и 4.0.2503.836

Кстати, тема не нова. Аж в 2004 году уже поднимался вопрос:
Ошибка при работе с типом container
__________________
Андрей.

Последний раз редактировалось Dron AKA andy; 23.07.2010 в 14:12.
За это сообщение автора поблагодарили: Logger (5).
Старый 23.07.2010, 15:04   #2  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,953 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Ax2009 билд 2985 (RU5)
бага не воспроизводится.

Ни через сonins ни через +=
Старый 23.07.2010, 15:49   #3  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Да, бага не новая - есть еще одна тема, в которой я ее впервые увидел => я ее зарепортил, и ее пофиксили.
Как говориться, надо вам на новый версия переходить.
За это сообщение автора поблагодарили: Dron AKA andy (2).
Теги
ax2009, ax4.0, container, баг, ошибка

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Родительские коды в контейнер breakpoint DAX: Программирование 0 06.07.2010 12:46
контейнер: '+=' vs 'conins' небольшое исследование SHiSHok DAX: Программирование 6 18.02.2010 15:58
контейнер: += трагедия вставки пустой строки. SHiSHok DAX: База знаний и проекты 10 22.01.2008 19:01
Функция поиска подстроки, чувствительная к регистру . Есть ли такая в аксапте? ATimTim DAX: Программирование 4 13.02.2006 15:37
Функция "Удалить строки" Oks DAX: Функционал 1 03.07.2002 18:09

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

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

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