This is topic Пример ActiveX in forum TRACE MODE 5 бесплатная версия / TRACE MODE 5 Free version at Форум TRACE MODE: техническая поддержка.


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

Posted by Dmitry A. E. (Участник № / Member № 1477) on :
 
Проблема: возникла необходимость создания ActiveX компонента. В хэлпе с TM об этом не сказано ничего, пример - поставляемый с ТМ не компилиться. Как то странно: объявили, что в ТМ есть поддержка АХ компонент но не объяснили, как их создавать.
А выкладывать нерабочий пример это вообще невежливо по отношению к покупателям вашего ПО.
-------
*пример программы должен компилироваться с первого клика BUiLD. А если нет, то должно быть описание как собрать этот пример.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
1) В разделе "Визуализация технологического процесса"-"Формы отображения"-"Использование ActiveX компонентов" имеется полное описание интерфейсов для подлкючения ActiveX в ТМ5.
2) Пример рабочий, все зависит от того, в какой среде Вы пытались его компилировать, от настроек этой среды и наличия необходимых в ней компонентов. В принципе, те ошибки, что она выдавала Вам при компиляции как раз об этом и сообщают. Не думаю, что для программиста это такая уж большая проблема. Мы не можем предусматреть абсолютно все варианты! Это не возможно.
 
Posted by Dmitry A. E. (Участник № / Member № 1477) on :
 
Спасибо за ответ.
Согласно справке - ТМ поддерживает 2 типа АХ компонент. Второй тип, это ТМ компоненты, а первый - не поддерживающий спецификации ТМ.
С помощью ActiveX визарда MSVС++ я создал компонент. При попытке вставить его в экран ТМ проекта появилось сообщение об ошибке. Содержание следующее:
-------------------------------
Debug assertion failed!
Program: D:\TraceMode...\PicMan.exe
File: winocc.cpp
Line: 279
...
-------------------------------
Как я понял - всё дело в "Property page" диалоге. Он не нравится ТМ. При игнорировании ошибки (нажав на кнопку ignore) компонент отображается и возможна привязка каналов к методам компонента. Вам что то извесно по этому вопросу?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
1) Пожалуйтса, уточните версию VC++. В VS2003 в winocc.cpp на строке 279 нет никакого ассерта.

2) Ваш компонент - пустая заготовка от визарда MFC или Вы уже модифицировали его?
У нас есть готовая заготовка, вставляется в picman без проблем. Можем прислать.
 
Posted by Dmitry A. E. (Участник № / Member № 1477) on :
 
1) Приятно, что AdAstra Technical Support имеет такой дружественный интерфейс. Спасибо.
2) Весрия VS - "Microsoft Visual C++ 6.0 Standard Edition win95/98/NT/2K". Компонент можно собрать как Debug,Release,Unicode Debug и Unicode Release. Весь фокус в том, что просто Debug и Release компоненты вызывают assertion failed при вставке их на экран ТМ, а Unicode Debug и Unicode Release НЕТ. При создании компонента из заготовки VC++7.0, используется multy-byte character set, однако компонент без проблем вставляется на экран.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
После общения с программистами могу вынести следующее резюме:
Сейчас быстро ответить не сможем, потому как установленной VS6 сейчас нет, а ТМ5 скомпилирована на vs2003 (mfc слинкована статически). Ассерт относится к неверному хэндлу окна, с charset'ом впрямую не связан. Т.е. - нужно ставить VS6 и смотреть в отладчике. Нужно время.
Скорее всего, Вы при создании указываете визарду Windowless activities = true (в терминах 2003), надо попробовать его не задавать.
Может это чем-то поможет.
 
Posted by Dmitry A. E. (Участник № / Member № 1477) on :
 
Да да. я заметил, что идёт работа с несуществующим окном.
Чесно говоря перепробовал тучу комбинаций галочек в визарде. И Windowless и не Windowless.. Возможно визард всегда делал Windowless. С такой штукой сталкивался, когда визард делал проект по своему..
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2