This is topic ActiveX in forum Операторский интерфейс SCADA/HMI TRACE MODE 6 / at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/34/t/000006.html

Posted by Alexey_V (Участник № / Member № 1467) on :
 
Работают ли ActiveX компоненты в ТМ6?
При попытке привазать ко входу или выходу в таблице свойств какой-нибудь канал(аргумент) ничего не получается (не появляется список выбора каналов).
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
В настоящее время решается вопрос о спецификации интерфейсов ActiveX, поддерживаемых в Трейс Моуд 6.
Мы уточним это и дадим Вам ответ.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Полная поддержка ActiveX появится в релизе 6.03
 
Posted by Савинцев Евгений (Участник № / Member № 611) on :
 
Замечание по ActiveX. При попытке сохранения в ТМ IDE проекта с ActiveX компонентом созданным с использованием библиотеки Forms 2.0, windows выдает сообщение об ошибке и закрывает редактор
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Смотрите мое сообщение выше... [Вращающиеся глаза / Roll Eyes]
И то - только ActiveX, которые разрабатывались для ТМ, а не сторонних решщений.
 
Posted by Catherine (Участник № / Member № 1682) on :
 
А существует ли ActiveX (поддерживаемый Trace Mode), позволяющий отображать динамически изменяющийся текстовый файл?
 
Posted by Kramarenko Stanislav (Участник № / Member № 119) on :
 
А хотелось бы и некоторые сторонние ActiveX цеплять... уж больно симпатичные бывают [Улыбка / Smile]
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
quote:
Отправитель / Originally posted by Catherine:
А существует ли ActiveX (поддерживаемый Trace Mode), позволяющий отображать динамически изменяющийся текстовый файл?

Нам таковые не известны.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
quote:
Отправитель / Originally posted by Kramarenko Stanislav:
А хотелось бы и некоторые сторонние ActiveX цеплять... уж больно симпатичные бывают [Улыбка / Smile]

Если ActiveX реализован по стандартному интерфейсу IDispatch, то он может использоваться в ТМ, если в ActiveX используются какие-либо собственные интерфейсы - мы с ними работать не можем, потому как ничего о них заранее знать не можем.
 
Posted by Дмитрий Юрьевич М. (Участник № / Member № 1930) on :
 
Возникли следующие вопросы, связанные с ActiveX (TraceMode 6.03):

1) При вставке стандартного компонента Microsoft Forms 2.0 Scroll Bar (как нарисовано в хелпе), вообще не появляется окно свойств компонента.

2) Отсутствует папка TMX, в которой должны лежать файлы tmxaux.idl, chBase.tlb и т.д.

3) При создании ActiveX компонента на Borland C++ Builder 6.0 рушится монитор реального времени при запуске (с критической ошибкой)

4) При создании компонента на Microsoft Visual C++ 6.0 не отображается окно свойств компонента (см. пункт 1).

-----------
Общий вопрос.... Реально ли создать компонент, работающий в TraceMode, на Visual C++ с помощью их wizard'a Active-X? Или всё нужно писать с абсолютного нуля?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
1. Должна быть зарегистрирована библиотека ChBase.dll
2. Папка TMX содержится в ТМ версии 6.04 (доступна на сайте).
3. В той же папке содержаться и примеры компонентов.
4. см. пункт 1.
Можно использовать wizard ActiveX, самое главное соблюдать регламент по созданию этих компонентов. (см. Справочную систему ТМ)
 
Posted by Grigorovskih (Участник № / Member № 1915) on :
 
Пытался разобраться с применением ActiveX, при разработке проекта, в результате возник вопрос:
Как использовать ActiveX в TM 6.04 которые поддерживаются в ТМ, если в открывающемся окне списка компонентов, при установке флага "поддерживаемые только ТМ", всё исчезает?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Речь идет о компонентах, специально разработанных в свое время для TRACE MODE 5.
Если у Вас не было этой системы, то и зарегистрированных компонентов на Вашем ПК нет.
 
Posted by Grigorovskih (Участник № / Member № 1915) on :
 
Хорошо, т.е. если я зарегестрирую библиотеку ChBase.dll, то смогу воспользоваться хотябы теми компонентами которые реализованы по стандартному интерфейсу IDispatch?
И ещё вопрос, если Вас конечно не затруднит, подскажите вкрадце пожалуйста как зарегестрировать вышеупомянутую библиотеку? Заранее благодарен!
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Регистрация данной библиотеки позволяет вывести в свойствах ActiveX компонента диалог "Привязка к каналу".
Регистрация библиотеки:
1. Скопируйте библиотеку ChBase.dll в папку system32
2. Выполните команду regsvr32 ChBase.dll
 
Posted by SerchenyaN (Участник № / Member № 2877) on :
 
В руководстве пользователя было написано, что запись в канал TM происходит, если при привязке установить событие.
Как должно быть реализовано это событие?

Компонент реализуется на С#? так как требуется поддержка некоторых классов из .Net Framework...

Компонент работает с таблицей свойств, с диалогом привязки, имеется возможность выбрать событие, компонент также принимает значения из каналов.

Но какое бы событие не выбиралось в диалоге привязки запись в каналы TM из ActiveX не происходит, с кем это может быть связано ?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Нужно проверить событие другим контейнером, например, Test Container из состава Visual Studio v. 6 - 2005.
 
Posted by SerchenyaN (Участник № / Member № 2877) on :
 
События отлавливаются другими контейнерами...

происходит ли при запиcи значения В канал из некоторого свойства элемента ActiveX проверка на S_OK?

как должен выглядеть метод для чтения свойства?

[id(0), propget] long ChanelValue();

или

[id(0), propget] unsigned long ChanelValue([in, out] long* rhs);

(во втором случае процедура возвращает 0 (S_OK), unsigned long эквивалентно HRESULT)

имеет ли это разницу?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Какой интерфейс для доступа из Тrace Mode компонент Вы реализуете и какой интерфейс Тrace Mode используете?
ChanelValue - условное название? Или реальный метод какого-то интерфейса? Какого?
 
Posted by SerchenyaN (Участник № / Member № 2877) on :
 
Для доступа используется интерфейс IDispatch...
ChanelValue - это название метода тестового компонента...

вот пример объявления данного интерфейса в C#
[GuidAttribute("DBB72496-062E-408b-AEBB-046DBC1F08B1")]
[InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
public interface ITmGridControlProperties
{
int ChanelValue
{
[DispId(0x0)]
get;
[DispId(0x0)]
set;
}
}

реализация данного свойства в классе: [ComDefaultInterface(typeof(ITmGridControlProperties))]
[ComSourceInterfaces(typeof(ITmGridControlEvents))]
[ProgId("MAMT.TraceModeExtentions.TmGridControl")]
[GuidAttribute("5177A057-4AFE-4651-8AC5-9AC367DD0F96")]
[ClassInterface(ClassInterfaceType.AutoDual)]
public partial class TmGridControl : UserControl, ITmGridControlEvents, ITmGridControlProperties
{
public int ChanelValue
{
get
{
ChanelValueRead();
return chanelValue;
}
set
{
chanelValue = value;
ChanelValueChanged();
}
}
}
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Пришлите исходники своего простейшего рабочего компонента. Наши программисты пытаются разобраться, но пока при попытке получить точку подключения события своего примера получаем код возврата EVENT_E_FIRST, что не дает никакой информации. Еще укажите, пожалуйста, в каких контейнерах Вы проверяли.
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2