LoadAssembly: IAssembly;
LoadAssembly: Prognoz.Platform.Interop.Metabase.IAssembly;
Метод LoadAssembly осуществляет загрузку и сохранение сборки в репозиторий.
Метод осуществляет сохранение сборки в соответствии с параметрами, указанными в свойстве CreateInfo. Если в репозитории существует объект, имеющий такой же идентификатор, как и у загружаемой сборки, то будет сгенерирована исключительная ситуация.
Для выполнения примера предполагается наличие файла «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.
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;
См. также: