Каким образом передать названия объектов, каналов, аттрибуты из самого Active X на страницу свойств в Delphi 5? И еще - каким образом заполнить поля стандартной страницы свойств tmChanPage?
Posted by Tag (Участник № / Member № 34) on :
>Каким образом передать названия объектов, каналов, аттрибуты из самого Active X на страницу свойств в Delphi 5?
Этого сделать невозможно, ведь атрибуты каналов передаются динамически во время исполнения при помощи вызова методов, описанных в документации в разделе "Дополнительные интерфейсы для ActiveX-компонентов". Если очень хочется делать привязку через страницу свойств, а не в Run-time то можно предложить лишь реализовать "жесткую функциональность" - допустим вашему компоненту требуется всего одна привязка к каналу ТМ. Тогда Вы создаете у Вашего компонента свойство с информативным для Вас именем (например, таким же как имя канала) и на странице свойств устанавливаете значение этого свойства в виде номера канала в Базе каналов.
Хотя я пока писал этот ответ понял, что это бесполезно, посколько применение компонентов имеет смысл только когда контейнером является Трейс Моуд, а не IDE Delphi, VB, VC и т.д. Поэтому при использовании ActiveX Вам не удаться воспользоваться страницей свойств в Delphi, а придется пользоваться той, что предлагает РПД либо страницей свойств, которую вы встроите в код компонента.
Что касается tmChanPage, то опять таки она будет работать только в проекте ТМ5, и ее бессмысленно встраивать в любое другое приложение, ни списка каналов, ни тем более их значений она Вам не покажет. Если есть необходимость получать имена каналов и их значения из ТМ во внешнее приложение - пишите ОРС клиента (или DDE)
Posted by Kostya S. (Участник № / Member № 391) on :
Имелась в виду страница свойств самого Active X, которая вызывается по правой кнопке мыши.
Posted by Tag (Участник № / Member № 34) on :
В коде, отвечающем за отрисовку страницы свойств вставляете код, выводящий список объектов, каналов, атрибутов и т.д. Пример такого кода имеется в каталоге TMX\VB_Delphi\TmDelCtl\