Russian Qt Forum

Qt => ActiveX => Тема начата: Shig от Июнь 28, 2013, 07:45



Название: cppdump Qt5.1 - проблема генерации заглушек
Отправлено: Shig от Июнь 28, 2013, 07:45
Задача такова: использовать COM объекты сторонних разработчиков в не GUI потоке моего приложения.
С Qt 4.8.4 всё было замечательно - генерим заглушки с помощью cppdump, меняем все упоминаия QAxWidget -> QAxObject и QWidget -> QObject. После чего всё замечательно работает. Замена делается для обхода ограничений создания QWidget в non gui thread.

После перехода на Qt 5.1.0 cppdump стал выдавать более замороченный код с уже построенными таблицами метасистемы.
Теперь трюк с заменой базовых классов не прокатывает.

Пробовал генерить с параметрами -nometaobject и -compat - не помогает. Т.к. используемые объекты не имеют IDispatch интерфейсов, а только нативные, наследованные от IUnknown.

Кто сталкивался с такой проблемой, может есть решение, кроме как писать вручную оболочку для интерфейсов?
Правда у меня их под 100  :o

А если пробовать переписать cppdump под свои нужды? Кто ни будь пробовал?


Название: Re: cppdump Qt5.1 - проблема генерации заглушек
Отправлено: Shig от Июнь 28, 2013, 09:27
Я решил эту проблему.
Просто пропатчил cppdump добавив флаг запрещающий использовать QAxWidget.


Название: Re: cppdump Qt5.1 - проблема генерации заглушек
Отправлено: antoshib от Июль 25, 2014, 16:01
Как это сделать? Можно ли настроить так, чтоб генерились интерфесы IUnknown вместо IDispatch?