Methods: IForeMethods;
Свойство Methods возвращает коллекцию пользовательских методов.
Для выполнения примера предполагается наличие в репозитории модуля с идентификатором «MY_FUNC_ASSEMBLY». В модуле реализована функция «PiDiv».
Sub UserProc;
Var
MB: IMetabase;
SParams: ISharedParams;
Methods: IForeMethods;
Method: IForeMethod;
Begin
MB := MetabaseClass.Active;
SParams := MB.SpecialObject(MetabaseSpecialObject.SharedParams).Edit As ISharedParams;
Methods := SParams.Methods;
Methods.Clear;
//Добавление новой функции
Method := Methods.Add;
//Указание места реализации функции и её параметров
Method.Assembly := "MY_FUNC_ASSEMBLY";
Method.Method := "PiDiv";
Method.Category := "Мои функции";
Method.Name := "Функция 'PiDiv'";
Method.Description := "Значение делим на 'Пи'";
Method.ResultType := ForeResultType.Real;
Method.Type := ForeMethodType.Arithmetic;
Debug.WriteLine("Ключ метода: " + Method.Key.ToString);
//Сохранение
(Methods As IMetabaseObject).Save;
End Sub UserProc;
После выполнения примера в коллекцию пользовательских методов будет добавлена новая функция «PiDiv». После этого функция будет доступна для использования в различных инструментах без дополнительного подключения самого модуля.
См. также: