Цитата:
Сообщение от
Raven Melancholic
Может быть объекты на разных сторонах клиент-сервера и какое-то из полей структуры содержит объект, по которому нет методов интерфейса 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)));
}
Результат:
Цитата:
Client: test
Server: test
Server: new value
Client: new value