Дополнительные интерфейсы для ActiveX

  Особенности интерфейсов

  Описание прилагаемых примеров

Дополнительный набор дуальных интерфейсов предназначен для разработки ActiveX-компонентов с помощью инструментов типа Delphi и Visual Basic.

Служебные файлы и примеры на VB и Delphi находятся в поддиректории TMX\VB_Delphi директории установки ИС:

   rtmdata.h – определения констант;

   rtmd.idl – определения интерфейсов;

   rtmd.tlb – результат компиляции rtmd.idl;

   TmVbCtl\*.* – пример на Visual Basic;

   TmDelCtl\*.* – пример на Delphi.

Особенности интерфейсов

При выполнении обычной (единичной) перепривязки будет вызван метод writeTags с одной новой привязкой.

Если необходима перепривязка компонента в реальном времени по его инициативе, то в нем следует инициировать событие с идентификатором DISPID_REFRESH (-550). После этого сервер запросит readTags и возобновит режим обмена с сервером реального времени. В примере на Delphi реализована такая возможность.

Разработанные на основе описываемых в этом разделе интерфейсов компоненты менее эффективны, чем компоненты, написанные на С++ с использованием custom-интерфейсов, – как по быстродействию, так и по расходованию памяти.

Delphi и VB не предоставляют возможности зарегистрировать компонент в произвольной категории, в частности, в TraceMode Controls.

Описание прилагаемых примеров

В качестве примера реализован компонент Data View, который демонстрирует:

   просмотр аргументов;

   произвольный набор аргументов для отображения их значений;

   произвольный набор аргументов для одновременной посылки значения;

   применение флагов TMXF_NEEDALARM и TMXF_HIDEONRUN.

Пример на Delphi демонстрирует сохранение указанных флагов, а также возможность изменения набора отображаемых аргументов в реальном времени.

Данные примеры проверялись на Delphi 5 и Visual Basic 6.0.