Assembly: IForeNETAssembly;
Свойство Assembly определяет .NET-сборку репозитория, в рамках которой будет сохранен загружаемый .NET-модуль/.NET-форма.
Указание .NET-сборки необходимо для корректной настройки ссылок на загружаемый .NET-модуль/.NET-форму. Указанная в данном свойстве .NET-сборка (либо одна из дочерних папок этой сборки), также должна быть указаны в свойстве Parent в параметрах CreateInfo.
Для выполнения примера предполагается наличие в корневом каталоге диска «C» файла «TestForm.ppnform». В данном файле содержится сохраненная .NET-форма «Форсайт. Аналитическая платформа». В текущем репозитории имеется .NET-сборка с идентификатором «TestAssembly».
Sub UserProc;
Var
MB: IMetabase;
NETAsm: IMetabaseObjectDescriptor;
Fs: IForeNETSerializer;
Fsl: IForeNETSerializerLoader;
Id: String;
Begin
MB := MetabaseClass.Active;
NETAsm := MB.ItemById("TestAssembly");
Fs := New ForeNETSerializer.Create;
Fsl := Fs.CreateLoaderFromFile("c:\TestForm.ppnform", MB);
Id := Fsl.CreateInfo.Id;
If MB.ItemByIdNamespace(Id, NETAsm.Key) <> Null Then
Fsl.CreateInfo.Id := MB.GenerateId(Id, NETAsm.Key);
Fsl.CreateInfo.Name := Fsl.CreateInfo.Name + "_Copy";
End If;
Fsl.Assembly := NETAsm.Bind As IForeNETAssembly;
Fsl.CreateInfo.Parent := NETAsm;
Fsl.LoadForm;
End Sub UserProc;
При выполнении примера из указанного файла будет загружена .NET-форма. .NET-форма будет сохранена в указанной .NET-сборке репозитория. Если в данной .NET-сборке существует объект, имеющий такой же идентификатор как и загружаемая .NET-форма, то перед загрузкой идентификатор .NET-формы будет изменен.
Примечание. Если при загрузке будет изменен идентификатор .NET-формы, то для ее работоспособности будет необходимо доработать наименование класса, соответствующего данной .NET-форме.
См. также: