Russian Qt Forum
Ноябрь 23, 2024, 05:18 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Использование COM объекта из dll  (Прочитано 5318 раз)
MadMax
Гость
« : Сентябрь 01, 2010, 21:07 »

Всем добрый день.
Я пишу достаточно простого COM-клиента.
COM-объект реализует достаточно большое кол-во собственных интерфейсов (описания которых нет в стандартных заголовочных файлах).

Я хочу использовать приблизительно следующую конструкцию:

 IMyInterface *interface = 0;

 activeX->queryInterface(IID_IMyInterface, (void **)&interface);
 if (interface) {
     interface->someMethod();
     interface->Release();
 }

Проблема в том, что у меня нет описания IMyInterface и IID_IMyInterface

в msvs для решения этой проблемы есть деректива #import. Я использую Qt 4.6.2 и в этой (по крайней мере в этой) использование этой дерективы приводит к зависанию намертво QtCreator.

Кто сталкивался с такой задачей? Как можно решить эту проблему?
Записан
MadMax
Гость
« Ответ #1 : Сентябрь 02, 2010, 15:57 »

Маленькое уточнение. Ничего, кроме dll-ки, которую я хочу использовать, у меня нет.
Решил натравить #import на эту dll-ку в VisualStudio. Я получил .tlh и .tli файлы. Затем попытался импортить их в моем проекте на Qt. Но как ожидалось ничего хорошего из этого не получилось - огромное кол-во ругани (даже на такие вещи как __uuidof).
Записан
alex312
Хакер
*****
Offline Offline

Сообщений: 606



Просмотр профиля
« Ответ #2 : Сентябрь 21, 2010, 19:13 »

попробуйте сгенерировать интерфейс Qt-шной утилиткой dumpcpp

http://doc.crossplatform.ru/qt/4.4.3/activeqt-dumpcpp.html
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.045 секунд. Запросов: 22.