Item(Index: Integer): IForeSubParam;
Item[Index: Integer]: Prognoz.Platform.Interop.KeFore.IForeSubParam;
Index. Индекс параметра в коллекции.
Метод Item возвращает параметр по индексу.
Для выполнения примера предполагается наличие модуля с идентификатором «MODULE». В глобальном пространстве имён модуля реализована функция:
Function Calculate(a, b: Integer; c: Double): Double;
Var
Result: Double;
Begin
//...
//Расчёт с учётом значений параметров
//...
Return Result
End Function Calculate;
Добавьте ссылку на системную сборку Fore, Metabase.
Sub UserProc;
Var
ForeService: IForeServices;
Runtime: IForeRuntime;
Assm: IForeAssembly;
FSub: IForeSub;
Params: IForeSubParams;
Param: IForeSubParam;
i, c: Integer;
Begin
ForeService := MetabaseClass.Active As IForeServices;
Runtime := ForeService.GetRuntime;
//Загрузка сборки
Assm := Runtime.BindToAssembly("MODULE");
//Получение функции
FSub := Assm.BindToSub("Calculate");
//Получение информации о параметрах функции
Params := FSub.Params;
c := Params.Count;
For i := 0 To c - 1 Do
Param := Params.Item(i);
Debug.WriteLine("Параметр: " + Param.Name + "; Тип значения: " + Param.TypeName);
End For;
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;
FSub: IForeSub;
SubParams: IForeSubParams;
Param: IForeSubParam;
i, c: Integer;
Begin
ForeService := Params.Metabase As IForeServices;
Runtime := ForeService.GetRuntime();
//Загрузка сборки
Assm := Runtime.BindToAssembly("MODULE");
//Получение функции
FSub := Assm.BindToSub("Calculate");
//Получение информации о параметрах функции
SubParams := FSub.Params;
c := SubParams.Count;
For i := 0 To c - 1 Do
Param := SubParams.Item(i);
System.Diagnostics.Debug.WriteLine("Параметр: " + Param.Name + "; Тип значения: " + Param.TypeName);
End For;
End Sub;
При выполнении примера в среду выполнения будет загружен указанный модуль. Будет получена функция «Calculate» и в консоль среды разработки будет выведена информация о её параметрах.
См. также: