Как включить библиотеки типов в проект Visual С++?

Я работаю над проектом FireBreath, который создает приложение-плагин, обертывающее функции элемента управления ActiveX. У меня даже есть исходный код элемента управления ActiveX.

На основе примера, представленного на странице примеров FireBreath, я написал необходимый класс-оболочку для обертывания элементов управления Active X.

Чтобы вызвать интерфейсы событий, классы и функции элемента управления ActiveX из проекта Firebreath, программа, которую я скачал со страницы примера Firebreath, использует такой оператор, чтобы предоставить проекту информацию о типе элементов управления ActiveX.

// Import the ActiveX control's typelib so we can easily call methods, etc.
// on the ActiveX control.
#import "PROGID:FBExampleCtl.xpcmdbutton" no_namespace, raw_interfaces_only$

Но когда я использую что-то подобное в своей программе, выдается ошибка, не удается найти библиотеку типов, включенную в заголовок.

Поэтому я не могу понять, как предоставить библиотеку типов элемента управления ActiveX для моего проекта, а также использовать методы и функции, определенные в библиотеке типов из моей программы.

ps:1) Я также установил Oleview, чтобы проверить, доступна ли библиотека типов в системе. Из этого я также попробовал альтернативу, например

#import "GUID of the typelibrary". But this also didnot work.

2) я тоже пробовал

#import "myrequireddll.dll"  

а также упомянул путь к dll в среде отладки. Но компилятор все равно выдает ту же ошибку, не может найти файл.


person Kai    schedule 14.10.2011    source источник
comment
Всегда предпочтительнее использовать имя файла напрямую, чем надеяться, что компилятор сможет найти его через реестр. Укажите файл .tlb, если он у вас есть отдельно, или DLL, в которую он встроен.   -  person Hans Passant    schedule 14.10.2011
comment
@Hans Passant, я тоже пробовал этот метод. Но это не сработало, я думаю. Пожалуйста, проверьте второй пункт, который я добавил в конце вопроса.   -  person Kai    schedule 14.10.2011


Ответы (2)


Вы можете импортировать файл TLB непосредственно в файл заголовка (.h), используя следующую директиву #IMPORT.

#import "C:\<PATH_TO_YOUR_TLB_FILE>.tlb" no_namespace, raw_interfaces_only

person Mr Lingua    schedule 04.02.2013

Прочтите этот пост в моем блоге Настройка Visual Studio 2010 для программирования MASM32. В нем говорится о настройке для MASM32, однако показано, как добавлять сторонние библиотеки типов и включать файлы в ваш проект.

person Romaine Carter    schedule 20.10.2011