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