ApplyObjectEx(Index: MetabaseSpecialObject; IncludeChildren: TriState; Value: Boolean);
Index. Тип специального объекта;
IncludeChildren. Признак включения в обновление дочерних объектов у специального объекта;
Value. Признак включения специального объекта в обновление.
Метод ApplyObjectEx включает в обновление специальный объект с возможностью добавления дочерних объектов.
В текущей реализации метод актуален для специального объекта с типом MetabaseSpecialObject.CustomExtender. Если параметру IncludeChildren установлено значение TriState.OnOption, то в обновление с настройками контейнера, дополняющего системные классы, также будут включены все пользовательские классы. Для включения специального объекта в обновление установите параметру Value значение True.
Для выполнения примера в метаданных репозитории предполагается наличие пользовательских классов.
Добавьте ссылку на системную сборку Metabase.
Sub UserProc;
Var
Mb: IMetabase;
Update: IMetabaseUpdate;
SpecialObjNode: IMetabaseUpdateSpecialObjectsNode;
Begin
MB := MetabaseClass.Active;
// Создание обновления
Update := Mb.CreateUpdate;
// Управление специальными объектами в обновлении
SpecialObjNode := Update.SpecialObjectsNode;
// Добавление в обновление контейнера со всеми пользовательскими классами
SpecialObjNode.ApplyObjectEx(MetabaseSpecialObject.CustomExtender, TriState.OnOption, True);
// Сохранение обновления в файл
Update.SaveToFileNF("D:\Work\Pefx\Update.pefx");
End Sub UserProc;
При выполнении примера будет создано новое обновление. В обновление будет включён контейнер со всеми пользовательскими классами. После этого обновление будет сохранено в указанный файл.
См. также: