IForeSerializerLoader.LoadModule

Синтаксис Fore

LoadModule: IModule;

Синтаксис Fore.NET

LoadModule: Prognoz.Platform.Interop.Metabase.IModule;

Описание

Метод LoadModule осуществляет загрузку и сохранение модуля в репозиторий.

Комментарии

Метод осуществляет сохранение модуля в соответствии с параметрами, указанными в свойстве CreateInfo. Если в репозитории существует объект, имеющий такой же идентификатор, как и у загружаемого модуля, то будет сгенерирована исключительная ситуация.

Пример Fore

Для выполнения примера предполагается наличие файла «c:\Module_1.ppmodule», содержащего сохраненный модуль платформы.

Sub UserProc;
Var
    MB: IMetabase;
    Fs: IForeSerializer;
    Loader: IForeSerializerLoader;
    Id: String;
Begin
    MB := MetabaseClass.Active;
    Fs := New ForeSerializer.Create;
    Loader := Fs.CreateLoaderFromFile("c:\Module_1.ppmodule", MB);
    Id := Loader.CreateInfo.Id;
    If MB.ItemById(Id) <> Null Then
        Loader.CreateInfo.Id := MB.GenerateId(Id);
        Loader.CreateInfo.Name := Loader.CreateInfo.Name + "_Copy";
    End If;
    Loader.CreateInfo.Parent := MB.Root;
    Loader.LoadModule;
End Sub UserProc;

При выполнении примера из указанного файла будет загружен модуль. Модуль будет сохранен в корневом каталоге репозитория. Если в репозитории существует объект, имеющий такой же идентификатор как и загружаемый модуль, то перед загрузкой идентификатор модуля будет изменен.

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    Fs: IForeSerializer = New  ForeSerializerClass();
    Loader: IForeSerializerLoader;
    Id: String;
Begin
    MB := Params.Metabase;
    Loader := Fs.CreateLoaderFromFile("c:\Module_1.ppmodule", MB);
    Id := Loader.CreateInfo.Id;
    If MB.ItemById[Id] <> Null Then
        Loader.CreateInfo.Id := MB.GenerateId(Id, 0);
        Loader.CreateInfo.Name := Loader.CreateInfo.Name + "_Copy";
    End If;
    Loader.CreateInfo.Parent := MB.Root;
    Loader.LoadModule();
End Sub;

См. также:

IForeSerializerLoader