IForeSerializerLoader.LoadAssembly

Синтаксис Fore

LoadAssembly: IAssembly;

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

LoadAssembly: Prognoz.Platform.Interop.Metabase.IAssembly;

Описание

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

Комментарии

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

Пример Fore

Для выполнения примера предполагается наличие файла «c:\Assembly_1.ppassembly», содержащего сохраненную сборку платформы.

Sub UserProc;
Var
    MB: IMetabase;
    Fs: IForeSerializer;
    Loader: IForeSerializerLoader;
    Id: String;
Begin
    MB := MetabaseClass.Active;
    Fs := New ForeSerializer.Create;
    Loader := Fs.CreateLoaderFromFile("c:\Assembly_1.ppassembly", 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.LoadAssembly;
End Sub UserProc;

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

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.KeFore;

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:\Assembly_1.ppassembly", 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.LoadAssembly();
End Sub;

См. также:

IForeSerializerLoader