Показать сообщение отдельно
Старый 09.10.2012, 11:43   #4  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,657 / 1158 (42) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
"Массив" и EDT типа массив - это "две большие разницы" Types::String предполагает хранение переменной типа String, но никак не массива.

В данном случае, можно инкапсулировать сложный тип данных в контейнер примерно так

X++:
static void ArrayMapExample2(Args _args)
{
    Dimension value, result;
    Map map;
    MapEnumerator me;
    int64 key;
    ;
    
    map = new Map(Types::Int64, Types::Container);

    key = 1; value[1] = 'abc'; value[2] = 'def'; value[3] = 'jhi';
    map.insert(key, [value]);

    key = 2; value[1] = '3.0'; value[2] = '2.0'; value[3] = '1.0';
    map.insert(key, [value]);

    key = 3; value[1] = '+++'; value[2] = '???'; value[3] = '!!!';
    map.insert(key, [value]);

    me = map.getEnumerator();
    while (me.moveNext())
    {
        key = me.currentKey();
        [result] = me.currentValue();
        info(strfmt('%1;%2;%3;%4', key, result[1], result[2], result[3]));
    }
}
Хотя, если все-равно используется контейнер, то какой смысл использовать Dimension? Проще уж сделать как написал ConsAx
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...