|
01.04.2008, 18:41 | #1 |
Участник
|
Struct
Добрый день!
static void Job55(Args _args) { container packedStruct; Struct s = new Struct(); Struct s1 = new Struct(); Struct s2 = new Struct(); ; s.add("name", "Jane Dow"); s.add("age" , 34); s1.add("struct1", s); packedStruct = s1.pack(); s2 = Struct::create(packedStruct); print s2.toString(); pause; } В 3.0 работает в 4.0 sp2 не работает, вываливается ошибка на строке : s2 = Struct::create(packedStruct); Требуется возможность восстановления из контейнера структуры структур в 4.0. |
|
01.04.2008, 19:19 | #2 |
Участник
|
Ну видимо распаковка в структуру структур в 4ке не поддерживаеццо. Вопрос вот в чём: зачем Вам это понадобилось? Можно попробовать паковать отдельные структуры в отдельные контейнеры, потом склеить эти контейнеры в один, а потом поустанавливать распакованные структуры в результирующую структуру как value
__________________
Axapta has seduced me deadly! |
|
01.04.2008, 19:35 | #3 |
Участник
|
А вообще можете сделать что-то типа:
X++: struct2.add("struct1",struct1.tostring()); struct3=Struct::create(packedstruct2); strStruct1 = struct3.value(struct3.fieldname(0)); // str strStruct1 Вот, ну а из этой строки возобновить исходную структуру или просто выцепить данные - не сложно. Хотя всё-равно геморный случай))).
__________________
Axapta has seduced me deadly! Последний раз редактировалось HorrR; 01.04.2008 в 20:08. |
|
02.04.2008, 09:51 | #4 |
Axapta Retail User
|
Как вариант:
X++: static void Job55(Args _args) { container packedStruct; Struct s = new Struct(); Struct s1 = new Struct(); Struct s2; Struct s3; ; s.add("name", "Jane Dow"); s.add("age" , 34); s1.add("struct1", s.pack()); packedStruct = s1.pack(); s2 = Struct::create(packedStruct); s3 = Struct::create(s2.valueIndex(1)); print s3.toString(); pause; } |
|
02.04.2008, 11:22 | #5 |
Участник
|
Таки да, просто паковать структуру при помещении её в структуру, я вчера так делал, вылетал эрор, а теперь глянул на код - я просто к нулевой проперти структуры пытался достучаться по запарке)
__________________
Axapta has seduced me deadly! |
|