К .NET-объектам среды разработки относятся: .NET-сборка, .NET-форма и .NET-модуль. Все эти объекты являются объектами репозитория, для их создания необходимо использовать следующие классы объектов:
MetabaseObjectClass.KE_CLASS_NETASSEMBLY - .NET-сборка.
MetabaseObjectClass.KE_CLASS_NETFORM - .NET-форма.
MetabaseObjectClass.KE_CLASS_NETMODULE - .NET-модуль.
При создании .NET-форм и .NET-модулей в качестве родительского объекта должна быть указана существующая .NET-сборка. Для предварительной настройки .NET-объектов после их создания реализован ряд методов:
InitAssembly - базовая настройка .NET-сборки.
Пример создания .NET-сборки:
Var
MB: IMetabase;
CrInfo: IMetabaseObjectCreateInfo;
Assembly: IMetabaseObject;
NETAssembly: IForeNETAssembly;
Begin
MB := MetabaseClass.Active;
CrInfo := MB.CreateCreateInfo;
CrInfo.ClassID := MetabaseObjectClass.KE_CLASS_NETASSEMBLY;
CrInfo.Name := "Новая сборка";
CrInfo.Id := "NewAssembly";
CrInfo.Permanent := True;
CrInfo.Parent := MB.Root;
Assembly := MB.CreateObject(CrInfo).Bind;
NETAssembly := Assembly As IForeNETAssembly;
NETAssembly.InitAssembly;
Пример создания .NET-формы:
Var
MB: IMetabase;
CrInfo: IMetabaseObjectCreateInfo;
Begin
MB := MetabaseClass.Active;
CrInfo := MB.CreateCreateInfo;
CrInfo.ClassID := MetabaseObjectClass.KE_CLASS_NETFORM;
CrInfo.Name := "Новая форма";
CrInfo.Id := "NewForm";
CrInfo.Permanent := True;
CrInfo.Parent := MB.ItemById("NewAssembly");
MB.CreateObject(CrInfo);
Пример создания .NET-модуля:
Var
MB: IMetabase;
CrInfo: IMetabaseObjectCreateInfo;
Begin
MB := MetabaseClass.Active;
CrInfo := MB.CreateCreateInfo;
CrInfo.ClassID := MetabaseObjectClass.KE_CLASS_NETMODULE;
CrInfo.Name := "Новый модуль";
CrInfo.Id := "NewModule";
CrInfo.Permanent := True;
CrInfo.Parent := MB.ItemById("NewAssembly");
MB.CreateObject(CrInfo);
После создания и настройки необходимых .NET-объектов в них осуществляется реализация пользовательских приложений. Для написания кода используется язык Fore.NET. Для использования .NET-объектов в обычных Fore формах/модулях в данной сборки реализованы специальные интерфейсы. Более подробное описание смотрите в разделе Использование Fore.NET в Fore.
Для обычного запуска .NET-сборок/форм из кода на Fore реализован ряд методов:
IForeNETAssembly.Run - запуск .NET-сборки на выполнение. При выполнении метода будет запущен тот объект, который установлен в качестве объекта запуска .NET-сборки. Установка объекта запуска осуществляется на вкладке «Параметры сборки» в окне настройки ссылок .NET-сборки.
IForeNETRuntimeForm.Show - открытие .NET-формы.
IForeNETRuntimeForm.ShowDialog - открытие .NET-формы, модально относительно указанного окна.
Пример запуска .NET-сборки из кода на Fore:
Var
MB: IMetabase;
NETAssembly: IForeNETAssembly;
Begin
MB := MetabaseClass.Active;
NETAssembly := MB.ItemById("NewAssembly").Bind As IForeNETAssembly;
NETAssembly.Run;
Пример запуска .NET-формы из кода на Fore:
Var
MB: IMetabase;
Run: IForeNETRuntime;
Asm: IForeNETRuntimeAssembly;
RuntimeForm: IForeNETRuntimeForm;
Begin
MB := MetabaseClass.Active;
Run := ForeNETAssemblyClass.Runtime;
Asm := Run.Assembly(MB.ItemById("NewAssembly").Bind As IForeNETAssembly);
RuntimeForm := Asm.Form("NewAssembly.NewForm");
RuntimeForm.Show;
См.также: