Объектный интерфейс ISetData |
Для модификации данных объекта публикуемый vip-интерфейс должен реализовать интерфейс ISetData:
objInterface ISetData; property modification: boolean; function DoSetData (owner: ObjRef; positionExist: boolean): longInt; procedure OpenTransaction; procedure CloseTransaction (rCode: longInt); end;
В этом случае при попытке модификации данных со стороны клиента будут выполнены следующие действия:
при наличии атрибута primary у одного из индексов будет произведено позиционирование по этому индексу;
для объекта будут установлены все необходимые свойства (простые типы данных);
для правых ссылок будут вызваны методы DoSetData, в которые будет передаваться ссылка на конкретного владельца текущего подобъекта (т.е. ссылка на уровень выше);
будет вызвана функция DoSetData для корневого объекта с NullRef в качестве параметра;
для левых ссылок будут вызваны методы DoSetData, в которые будет передаваться ссылка на конкретного владельца текущего подобъекта (т.е. ссылка на уровень выше).
Начиная с Атлантис 5.1.36.