Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Active X

1.9K
05 октября 2005 года
Anton Chik
175 / / 26.09.2005
Здравствуйте,у меня возникла специфичная проблема... Вобщем есть одна PCI-железячка (которая накладывает титры на видеовыход),есть под нее софт и пр. Я импортнул соответствующий файл tlb в среду C++ Builder 6 и написал кой-какие программки ,которые отлично шпилят.
Но при запуске этих прог на чужих компах с подобной железячкой и с нормальной работой других прог под эту железячку(написанных в частности на Centura) ) выдается сообщение :

HRCHECK:

src->QueryInterface(GetIID(),(LPVOID*)(&inf))': No such interface supported @ e:\program files\borland\cbuilder6\include\vcl\utilcls.h/3002 Press[Y]es to terminate [N]o to continue and [C]ancel to Debug

Причем на этих компах билдер не установлен (в сообщении указывается м о й путь).Компиляю релиз я как обычно : без runtime-packages и без dinamic RTL.
В чем дело? Помогите пожалуйста.
246
06 октября 2005 года
GIZMO
1.8K / / 30.07.2004
Цитата:
Originally posted by Anton Chik
Здравствуйте,у меня возникла специфичная проблема... Вобщем есть одна PCI-железячка (которая накладывает титры на видеовыход),есть под нее софт и пр. Я импортнул соответствующий файл tlb в среду C++ Builder 6 и написал кой-какие программки ,которые отлично шпилят.
Но при запуске этих прог на чужих компах с подобной железячкой и с нормальной работой других прог под эту железячку(написанных в частности на Centura) ) выдается сообщение :

HRCHECK:

src->QueryInterface(GetIID(),(LPVOID*)(&inf))': No such interface supported @ e:\program files\borland\cbuilder6\include\vcl\utilcls.h/3002 Press[Y]es to terminate [N]o to continue and [C]ancel to Debug

Причем на этих компах билдер не установлен (в сообщении указывается м о й путь).Компиляю релиз я как обычно : без runtime-packages и без dinamic RTL.
В чем дело? Помогите пожалуйста.


Значит QueryInterface(...) вернула E_NOINTERFACE т.е. твой ActivX там не зарегестрирован.
На "на чужом компе ":
regsvr32.exe -Путь\Твой.ocx

1.9K
06 октября 2005 года
Anton Chik
175 / / 26.09.2005
2GIZMO:
Спасибо.Мне это уже подсказали сделать.Теперь возник вопрос,где достать данную OCX ?. У меня с железякой поставлялись только TLB и ODL... До разработчика я пока достучаться не могу :(
Может еще чего посоветуешь?
259
06 октября 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by Anton Chik
2GIZMO:
Спасибо.Мне это уже подсказали сделать.Теперь возник вопрос,где достать данную OCX ?. У меня с железякой поставлялись только TLB и ODL... До разработчика я пока достучаться не могу :(
Может еще чего посоветуешь?


ocx можно сделать самому имея tlb.

1.9K
06 октября 2005 года
Anton Chik
175 / / 26.09.2005
Большое спасибо.Попробую разобраться.
246
07 октября 2005 года
GIZMO
1.8K / / 30.07.2004
Цитата:
Originally posted by AlexandrVSmirno
ocx можно сделать самому имея tlb.


Шутите Александр?

246
07 октября 2005 года
GIZMO
1.8K / / 30.07.2004
Цитата:
Originally posted by Anton Chik
2GIZMO:
Спасибо.Мне это уже подсказали сделать.Теперь возник вопрос,где достать данную OCX ?. У меня с железякой поставлялись только TLB и ODL... До разработчика я пока достучаться не могу :(
Может еще чего посоветуешь?


Она находится на компе, где: - "...есть одна PCI-железячка (которая накладывает титры на видеовыход),есть под нее софт и пр." Сам по себе tlb это просто описание типов (этакий хедер для ocx), и без ocx-а работать не может. Tlb Ты импортнул, так? Теперь смотри в файле YourIron_TLB.cpp LIBID_YourIron = {...}, переобразуй его к "нормальному виду". Пример:
const GUID LIBID_AddInDesignerObjects = {0xAC0714F2, 0x3D04, 0x11D1,{ 0xAE, 0x7D, 0x00, 0xA0, 0xC9, 0x0F, 0x26, 0xF4} };
"норм вид" = {AC0714F2-3D04-11D1-AE7D-00A0C90F26F4}.
Далее запуксаешь RegEdit|Поиск|"LIBID_YourIron"(напр. {AC0714F2-3D04-11D1-AE7D-00A0C90F26F4})|Ок. Находишь раздел с таким именем("LIBID_YourIron"), смотришь подраздел InprocServer32 параметр по умолчанию и есть твой ActiveX(это не обязательно ocx? м.б. и dll). Несешь на др. комп. и regserv32 - ...

362
07 октября 2005 года
_kolyan
339 / / 03.12.2002
Цитата:
Originally posted by AlexandrVSmirno
ocx можно сделать самому имея tlb.


Цитата:
Originally posted by GIZMO
Шутите Александр?



Насколько я не понимаю, TLB это описание типов, которые содежатся в ActiveX библиотеке, и как из этого описания достать непосредственно исполняемый код?

Может там с железякой DLL'и были, их тоже можно зарегистрировать regsvr32.exe.

Пока писал текст, меня опередил, товарищ GIZMO :)

259
07 октября 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by GIZMO
Шутите Александр?


Да нет. Просто есть у меня такая дурная привычка опускать промежуточные выводы, подразумеваяя, что остальные почему то умеют читать мои мысли.;) Каюсь. Идея была такая, что собрать необходмое можно и в Билдере, раз уж оно там работает.:angel:

1.9K
07 октября 2005 года
Anton Chik
175 / / 26.09.2005
всем большое спасибо.
я решил эту проблему регистрацией на сторонних компах непосредственно самой tlb-хи ...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог