IForeNETSerializerLoader.LoadForm

Синтаксис

LoadForm: IForeNETForm;

Описание

Метод LoadForm осуществляет загрузку и сохранение .NET-формы в репозиторий.

Комментарии

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

Пример

Для выполнения примера предполагается наличие в корневом каталоге диска «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-форме.

См. также:

IForeNETSerializerLoader