Подготовка файла ddi осуществляется при помощи утилиты ddi.exe. Работа с ней подробно описана в разделе Утилита редактирования шаблонов баз данных и файла внешних настроек ddi.exe.

 Создание файла ddi для типов объектов CUSTOM и CUSTOM_CHILD выполняется в следующей последовательности:

  1. Запустить утилиту ddi.exe (см. Утилита редактирования шаблонов баз данных и файла внешних настроек ddi.exe).
  2. На вкладке DDI создать два объекта CUSTOM и CUSTOM_CHILD как показано на рисунке ниже.
  3. Перейти на вкладку События и настроить события, которые должны поддерживаться объектом (см. рисунок).
  4. Перейти на вкладку Реакции и настроить реакции, которые должен поддерживать объект (см. рисунок).

    Примечание.

    Реакции виртуальных объектов автоматически конвертируются в события. Иными словами, при поступлении реакции виртуальный объект автоматически сгенерирует соответствующее событие.


  5. Перейти на вкладку Состояния и описать состояния, которые может принимать объект. В данном примере рассмотрено два состояния – ON и OFF.

    Примечание.

    В столбце Изображение указывается постфикс имени файла изображения, расположенного в папке <Директория установки ПК Интеллект>\Bmp. Например, для объекта CUSTOM это будут файлы custom_off.bmp и custom_on.bmp, соответствующие состояниям ON и OFF. Эти файлы будут использованы модулем Карта.
  6. Перейти на вкладку Правила перехода состояний и настроить логику изменения состояния объекта.

    Правила перехода состояний — это простая машина состояний, входным действием является событие, а результатом — состояние.
    В рассматриваемом примере используется безусловный переход: если пришло событие CUSTOM||ON, производится переход в состояние ON, если пришло событие CUSTOM||OFF — в состояние OFF.
  7. Сохранить изменения при помощи команды Сохранить в меню Файл. Сохраненный файл должен иметь расширение ddi и располагаться в папке, соответствующей требуемому языку, например C:\Program Files (x86)\Интеллект\Languages\ru\intellect.custom.ddi

Подготовка файла ddi завершена.

  • No labels