Комплект файлов для разработчика
Пусть разрабатывается новый ActiveX-компонент для использования в TRACE MODE.
Если описанной выше функциональности недостаточно, то можно реализовать в компоненте интерфейс IChInfo (см. tmxaux.idl).
Для привязки к аргументу можно использовать страницу свойств tmChanPage. При этом надо указать ее явно в списке поддерживаемых.
Кроме того, можно использовать непосредственно интерфейс ItmChBrowser (см. tmxaux.idl). В этом случае надо написать свой интерфейс пользователя для привязки к нескольким аргументам. Если в ActiveX-компоненте используется собственный интерфейс привязки к аргументам и tmChanPage не требуется, то следует реализовать метод GetChInfoEx интерфейса IСhInfo с кодом возврата S_OK.
Интерфейс ItmChBrowser не может быть создан явным образом (вызовом CoCreateInstance), а передается методом SetChanBrowser интерфейса IChInfo.
Для изменения значения одного или нескольких аргументов одновременно служит интерфейс ItmDataLink. Он предоставляется контейнером аналогично ItmChBrowser и имеет всего один метод, служащий именно этой функции. Интерфейс ItmGrChBrowser, специфицированный в том же файле, используется для внутренних нужд РПД.
Структуры данных, используемых методами упомянутых интерфейсов, описаны в файле rttypes.idl. Они подробно прокомментированы.
Если компонент готов к работе с TRACE MODE через специализированные интерфейсы, то его можно зарегистрировать в категории TraceMode Controls (см. пример), что позволит использовать фильтр при выборе компонента для вставки.
Комплект файлов для разработчика
В поддиректории TMX директории ИС находится набор файлов для разработчика ActiveX-компонента:
tmxaux.idl – спецификация интерфейсов IChInfo, ItmChBrowser;
rttypes.idl – ряд вспомогательных структур данных;
ChBase.tlb – библиотека типов, содержащая страницы свойств tmChanPage и TmxAmbPage.
Файлы примера.
В качестве иллюстрации простого компонента, реализующего IChInfo, предлагается TraceMode Spin Control (Tmxlib.dll), исходные тексты которого находятся в поддиректории TMX каталога инсталляции ИС. Этот компонент представляет реализацию комбинации окон static и UpDown, то есть вариацию традиционной пары Edit и UpDown. Он принимает измененные значения аргумента и может управлять им при нажатиях соответствующих стрелок элемента Up/Down. Данный компонент разработан с использованием MS Visual C++5.0 и библиотеки ATL 2.0. Необходимая функциональность в данном случае могла бы быть достигнута и с использованием IDispatch.