Форум TRACE MODE: техническая поддержка Послать новую тему / Post New Topic  Послать ответ / Post A Reply
мой профиль / my profile авторизация / login | регистрация / register | поиск / search | часто задаваемые вопросы / faq | начало / forum home

  Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
» Форум TRACE MODE: техническая поддержка » ТЕХНИЧЕСКАЯ ПОДДЕРЖКА / TECHNICAL SUPPORT TRACE MODE 6 » Операторский интерфейс SCADA/HMI TRACE MODE 6 / » ActiveX VC++6

   
Автор / Author Тема / Topic: ActiveX VC++6
Soyuz
Forum Member / Участник форума
Участник № / Member № 2028


Icon 1 отправлено / posted      Профиль для / Profile for Soyuz           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
В комплекте TM6 идёт пример ActiveX-компонента для Visual C++ 5. Но под Visual C++ 6 компонент не компилируется: ошибку выдаёт компилятор midl.exe. Есть ли возможность получить пример ActiveX (исходный текст), компилируемый под Visual C++ 6?
VC++ 6 при компиляции выдает следующее:
Creating Type Library...
tmxlib.idl
oaidl.idl
objidl.idl
unknwn.idl
wtypes.idl
ocidl.idl
oleidl.idl
servprov.idl
urlmon.idl
msxml.idl
rttypes.idl
Error executing midl.exe.
Tmxlib.dll - 1 error(s), 0 warning(s)
Может быть нужно поменять какие-нибудь ключи для midl.

midl установлен, и расположен в папке Bin Visual Studio.

Сообщения / Posts 52 | Из / From: Украина  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Tmxlib.dsp:
# Microsoft Developer Studio Generated Build File, Format Version 6.00. Это 6-я версия

Пример компилируется midl'ом 6-й версии без специальных ключей.
Попробуйте вручную скомпилировать midl tmxaux.idl и сообщите результат - если есть ошибка, она должна быть указана явно - не найден файл ххх и т.п.

Сообщения / Posts 17112 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Soyuz
Forum Member / Участник форума
Участник № / Member № 2028


Icon 1 отправлено / posted      Профиль для / Profile for Soyuz           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Я еще вчера скомпилировал *.idl файлы. Но как построить сам ActiveX? Выдает все те же сообщения. Возможно нужно указать в среде Visual C++ 6 путь к midl, раз он его не может запустить!
Спасибо.

Сообщения / Posts 52 | Из / From: Украина  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Судя по всему, Вы передали нам не полную диагностику. Пришлите, пожалуйста, на адрес техподдержки полный вывод компилятора, от командной строки.
А пока попробуйте создать простенький ActiveX с использованием ATL, если получится - посмотрите разницу в проектах.

Сообщения / Posts 17112 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Soyuz
Forum Member / Участник форума
Участник № / Member № 2028


Icon 1 отправлено / posted      Профиль для / Profile for Soyuz           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
С Новым Годом! И продолжая...
У меня таки получилось построить dll, правда только в Debug конфигурации. При этом в настройках проекта, в закладке MIDL я предварительно все очистил (так как и в пустом ActiveX с использованием ATL).
Почему Release конфигурации не проходят? Вот строки ошибки:
Generating Code...
Linking...
Creating library ReleaseUMinDependency/Tmxlib.lib and object ReleaseUMinDependency/Tmxlib.exp
LIBCMT.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
ReleaseUMinDependency/Tmxlib.dll : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

И еще возникла одна ошибка связанная с функцией _stprintf(). Я заменил ее на sprintf().

HRESULT CSpin::OnDraw(ATL_DRAWINFO& di)
{
// Draw something to output to printer..
RECT& rc = *(RECT*)di.prcBounds;
HBRUSH br = CreateSolidBrush(GetSysColor(COLOR_BTNFACE));
FillRect(di.hdcDraw,&rc,br);
DeleteObject(br);
//_TCHAR buf[48];
//_stprintf(buf,"%d",int(m_val.f));
char buf[48];
sprintf(buf,"%d",int(m_val.f));
DrawText(di.hdcDraw,(const unsigned short *)buf, -1, &rc, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
return S_OK;
}

Сообщения / Posts 52 | Из / From: Украина  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
1. По ошибке с линковкой сказать точно пока ничего не можем, ещё раз внимательно смотрите отличия настроек Вашего проекта от tmxlib.
2. Выберете конфигурацию ReleaseMinDependency, т.е. без unicode (ошибка связанная с функцией sprintf() связана именно с этим).

Сообщения / Posts 17112 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Дмитрий Юрьевич М.
Junior Member / Новичок
Участник № / Member № 1930


Icon 1 отправлено / posted      Профиль для / Profile for Дмитрий Юрьевич М.           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Скажите, пожалуйста, уважаемая техническая поддержка. Как заставить работать Active-X, написанный в Visual Studio 2005? Даже пустой Active-X (только что созданный проект) при добавлении на экран TraceMode выкидывает исключение, после чего TM закрывается. Не работают все конфигурации (release, debug, со статической линковкой и без, с юникодом и без оного). Что делать? Active-X, созданные в Visual Studio 6.0 работают. Но купить лицензионную студию уже не представляется возможным. Что нам делать?
Сообщения / Posts 23 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Есть подозрение, что причинами возникновения подобной ошибки могут являться разногласия в интерфейсах, задействованных при создании ActiveX приложений. Мы работаем в этом направлении.
Дле текущего решения рекомендуем использовать Visual Studio до версии 2003 с компонентами MFC. Для работы с Visual Studio 2005 используйте компоненты ATL.

Сообщения / Posts 17112 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
   

Quick Reply
Сообщение / Message:

HTML код не разрешен. / HTML is not enabled.
UBB код разрешен. / UBB Code is enabled.

Значки Graemlins / Instant Graemlins
   


Послать новую тему / Post New Topic  Послать ответ / Post A Reply Закрыть тему / Close Topic   Feature Topic   Переместить топик / Move Topic   Удалить топик / Delete Topic Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
 - Printer-friendly view of this topic
Перейти к / Hop To


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2