BindToMethod(MethodName: String): IForeSub;
BindToMethod(MethodName: String): Prognoz.Platform.Interop.KeFore.IForeSub;
MethodName. Наименование процедуры/функции.
Метод BindToMethod возвращает информацию о процедуре/функции с указанным именем.
Метод возвращает Null, если процедура/функция с указанным именем в классе не найдена.
Для выполнения примера предполагается наличие в репозитории сборки с идентификатором «ASSM_TEST». В сборке реализован класс «CCalculate», в классе имеется функция «Calculate».
Добавьте ссылку на системную сборку Fore, Metabase.
Sub UserProc;
Var
ForeService: IForeServices;
Runtime: IForeRuntime;
Assm: IForeAssembly;
FClass: IForeClass;
FSub: IForeSub;
Begin
ForeService := MetabaseClass.Active As IForeServices;
Runtime := ForeService.GetRuntime;
//Загрузка сборки
Assm := Runtime.BindToAssembly("ASSM_TEST");
//Получение класса
FClass := Assm.BindToClass("CCalculate");
//Получение функции
FSub := FClass.BindToMethod("Calculate");
//Указание экземпляра класса, для которого будет выполняться функция
FSub.Self := FClass.CreateObject;
//Выполнение функции
FSub.Invoke;
//Вывод результата
If FSub.IsResult Then
Debug.WriteLine(FSub.ResultValue);
End If;
End Sub UserProc;
Imports Prognoz.Platform.Interop.Fore;
Imports Prognoz.Platform.Interop.Metabase;
Public Shared Sub Main(Params: StartParams);
Var
ForeService: IForeServices;
Runtime: IForeRuntime;
Assm: IForeAssembly;
FClass: IForeClass;
FSub: IForeSub;
Begin
ForeService := Params.Metabase As IForeServices;
Runtime := ForeService.GetRuntime();
//Загрузка сборки
Assm := Runtime.BindToAssembly("ASSM_TEST");
//Получение класса
FClass := Assm.BindToClass("CCalculate");
//Получение функции
FSub := FClass.BindToMethod("Calculate");
//Указание экземпляра класса, для которого будет выполняться функция
FSub.Self := FClass.CreateObject();
//Выполнение функции
FSub.Invoke();
//Вывод результата
If FSub.IsResult Then
System.Diagnostics.Debug.WriteLine(FSub.ResultValue);
End If;
End Sub;
При выполнении примера в среду выполнения будет загружена сборка репозитория с указанным идентификатором. В сборке будет получен доступ к указанной функции класса. Функция будет выполнена и результат её работы выведен в консоль среды разработки.
См. также: