AXForum  
Zurück   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Kennwort vergessen?
Registrieren Forum Rules Hilfe Benutzerliste Heutige Beiträge Suchen

 
 
Themen-Optionen Thema durchsuchen Ansicht
Alt 14.09.2011, 13:59   #1  
lvan ist offline
lvan
Участник
Benutzerbild von lvan
Лучший по профессии 2014
 
858 / 82 (4) ++++
Registriert seit: 15.04.2011
Blog-Einträge: 1
Struct в args.object()
У меня одного аксапта падает, когда я пытаюсь передать Struct через args.object?
его вообще можно передавать так?
Alt 14.09.2011, 14:27   #2  
S.Kuskov ist offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3.448 / 1792 (66) ++++++++
Registriert seit: 28.04.2007
Ort: Калуга
Вы случайно Object с parmObject не перепутали?
Alt 14.09.2011, 19:35   #3  
lvan ist offline
lvan
Участник
Benutzerbild von lvan
Лучший по профессии 2014
 
858 / 82 (4) ++++
Registriert seit: 15.04.2011
Blog-Einträge: 1
ну да, parmObject конечно имел ввиду
Alt 15.09.2011, 00:53   #4  
plumbum ist offline
plumbum
Участник
Соотечественники
 
182 / 86 (3) ++++
Registriert seit: 07.12.2007
Ort: Vienna, AT
можно еще так:
X++:
args.parm(con2str(myStruct.pack()));
...
Struct myStruct = Struct::create(str2Con(args.parm()));
__________________
http://www.axdevposts.blogspot.com
Пришел, уведел.... отойди, дай другому увидеть!
Alt 15.09.2011, 09:36   #5  
S.Kuskov ist offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3.448 / 1792 (66) ++++++++
Registriert seit: 28.04.2007
Ort: Калуга
Я не смог воспроизвести ошибку при передаче Struct через Args.parmObject().
Alt 15.09.2011, 10:31   #6  
Raven Melancholic ist offline
Raven Melancholic
Участник
Benutzerbild von Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2.164 / 1296 (48) ++++++++
Registriert seit: 21.03.2005
Ort: Москва-Петушки
Zitat:
Zitat von S.Kuskov Beitrag anzeigen
Я не смог воспроизвести ошибку при передаче Struct через Args.parmObject().
У меня так же ошибка не воспроизводится.
Может быть объекты на разных сторонах клиент-сервера и какое-то из полей структуры содержит объект, по которому нет методов интерфейса SysPackable?
Alt 15.09.2011, 10:45   #7  
S.Kuskov ist offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3.448 / 1792 (66) ++++++++
Registriert seit: 28.04.2007
Ort: Калуга
Zitat:
Zitat von Raven Melancholic Beitrag anzeigen
Может быть объекты на разных сторонах клиент-сервера и какое-то из полей структуры содержит объект, по которому нет методов интерфейса SysPackable?
А разве при использовании parmObject происходит копирование объекта? Я думал что передаётся лишь ссылка на объект. Нужно проверить.

X++:
//Class_TestParmObject
public server static void main(Args _args)
{
    Struct Struct = _args.parmObject();
    ;

    info(strfmt("%1: %2", enum2str(xGlobal::clientKind()), Struct.valueIndex(1)));
    Struct.valueIndex(1, "new value");
    info(strfmt("%1: %2", enum2str(xGlobal::clientKind()), Struct.valueIndex(1)));
}
X++:
static void Job_TestParmObject(Args _args)
{
    Args args = new Args();
    Struct Struct = new Struct(Types::String, "Field1");
    ;

    Struct.value("Field1", "test");
    args.parmObject(Struct);

    info(strfmt("%1: %2", enum2str(xGlobal::clientKind()), Struct.valueIndex(1)));

//    Class_TestParmObject::main(args);
    new MenuFunction(menuItemActionStr(MenuItem_TestParmObject), MenuItemType::Action).run(args);

    info(strfmt("%1: %2", enum2str(xGlobal::clientKind()), Struct.valueIndex(1)));
}
Результат:
Zitat:
Client: test
Server: test
Server: new value
Client: new value

Geändert von S.Kuskov (15.09.2011 um 11:04 Uhr)
Alt 15.09.2011, 12:47   #8  
lvan ist offline
lvan
Участник
Benutzerbild von lvan
Лучший по профессии 2014
 
858 / 82 (4) ++++
Registriert seit: 15.04.2011
Blog-Einträge: 1
сейчас попробую ваш код у себя
Alt 15.09.2011, 13:15   #9  
lvan ist offline
lvan
Участник
Benutzerbild von lvan
Лучший по профессии 2014
 
858 / 82 (4) ++++
Registriert seit: 15.04.2011
Blog-Einträge: 1
Короче я понял в чем косяк был, я действительно когда инициализировал экземпляр args вместо args.parmObject(struct) указал args.object(struct)

ну и аксапта валилась при этом )) мухаха
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
kamalblogs: Setting default object owner as Object creator in Window server 2008 for AIF in Dynamics Ax Blog bot DAX Blogs 1 04.08.2010 14:24
args.record - как заставить работать в форме PurchLine? Gustav DAX: Программирование 9 12.01.2010 16:53
emeadaxsupport: Renaming an AOT object in Dynamics AX 2009 that is under source control with Team Foundation Server Blog bot DAX Blogs 0 06.10.2009 02:05
Вызов метода element.args().caller().setOfficialsParams(.... Poleax DAX: Программирование 6 04.09.2008 19:49
Struct DmitryS DAX: Программирование 4 02.04.2008 11:22

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Gehe zu

Рейтинг@Mail.ru
Alle Zeitangaben in WEZ +3. Es ist jetzt 21:55 Uhr.
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.