Объекты пользовательского класса создаются в навигаторе объектов как и другие объекты репозитория. Для этого в контекстном меню навигатора и у кнопки «Новый объект» в группе «Создать» на вкладке ленты «Главная» выделена подгруппа команд «Пользовательские объекты».
Дальнейшая работа с объектами пользовательских классов полностью осуществляется через язык Fore. Свойства и методы для доступа к объекту пользовательского класса содержатся в интерфейсе IMetabaseCustomObject сборки Metabase. В объекте пользовательского класса могут храниться любые данные. Рассмотрим простые примеры по записи данных в объект пользовательского класса и считыванию данных из него. Чтение/запись данных будет производиться из/в файл:
Запись данных в объект пользовательского класса
Чтение данных из объекта пользовательского класса
Для того, чтобы работа с объектами пользовательских классов в навигаторе объектов не отличалась от работы с другими объектами репозитория, в настройках класса создайте список операций и укажите обработчик, в котором расположен класс с реализацией операций. Например, для обработки стандартных операций «Открыть», «Редактировать» и каких-либо еще двух операций реализация класса может быть следующей:
Для записи/чтения данных в объектах пользовательских классов указанные выше процедуры можно переписать в обработчики операций:
При необходимости объекты пользовательского класса можно сделать параметрическими. Для этого через Fore заполните коллекцию IMetabaseObjectDescriptor.Params. Следующий код может использоваться для создания параметров:
Для параметрического объекта перед выполнением операции будет выведено окно ввода параметров. После ввода значений и нажатия кнопки «ОК» будет вызван соответствующий метод-обработчик. Если в диалоге была нажата кнопка «Отмена», то обработчик будет вызван, но в него будут переданы пустые значения параметров.
Для обработки операций у параметрических объектов должны быть реализованы соответствующие обработчики:
См. также: