Дополнительный набор дуальных интерфейсов предназначен для разработки 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.