IMetabaseObjectCreateInfo.KeepEdit

Синтаксис

KeepEdit: Boolean;

KeepEdit: boolean;

Описание

Свойство KeepEdit определяет признак нахождения объекта в состоянии редактирования после создания.

Комментарии

Если свойству установлено значение True, то после выполнения метода IMetabase.CreateObject созданный объект будет находиться в состоянии редактирования. Это позволяет сразу привести созданный объект к нужному интерфейсу и настроить специфические свойства. Если свойству установлено значение False, то для изменения специфических свойств созданного объекта его будет необходимо открыть на редактирование с помощью метода IMetabaseObjectDescriptor.Edit.

Пример

Добавьте ссылку на системную сборку Metabase.

Sub UserProc;
Var
    MB: IMetabase;
    CrInfo: IMetabaseObjectCreateInfo;
    m: IModule;
Begin
    MB := MetabaseClass.Active;
    CrInfo := MB.CreateCreateInfo;
    CrInfo.ClassId := MetabaseObjectClass.KE_CLASS_MODULE;
    CrInfo.Parent := MB.Root;
    CrInfo.KeepEdit := True;
    m := MB.CreateObject(CrInfo) As IModule;
    m.Text := "Sub Main;" + #13 + #10 +
            "Begin" + #13 + #10 +
            "End Sub Main;";
    (m As IMetabaseObject).Save;
End Sub UserProc;

Public Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    CrInfo: IMetabaseObjectCreateInfo;
    m: IModule;
Begin
    MB := Params.Metabase;
    CrInfo := MB.CreateCreateInfo();
    CrInfo.ClassId := MetabaseObjectClass.KE_CLASS_MODULE As Int32;
    CrInfo.Parent := MB.Root;
    CrInfo.KeepEdit := True;
    m := MB.CreateObject(CrInfo) As IModule;
    m.Text := "Sub Main;" + Char.ConvertFromUtf32(13) + Char.ConvertFromUtf32(10) +
            "Begin" + Char.ConvertFromUtf32(13) + Char.ConvertFromUtf32(10) +
            "End Sub Main;";
    (m As  IMetabaseObject).Save();
End Sub;

После выполнения примера в корневом каталоге репозитория будет создан новый модуль. Для указания заготовки процедуры «Main» в модуле структура модуля остается открытой на редактирование после выполнения метода IMetabase.CreateObject.

См. также:

IMetabaseObjectCreateInfo