Russian Qt Forum

Qt => ActiveX => Тема начата: -=s0L=- от Июль 19, 2007, 15:38



Название: COM vs Mingw
Отправлено: -=s0L=- от Июль 19, 2007, 15:38
Кто нить знает как легальным способом (т.е. бесплатно :) ) испоьльзовать COM компоненты в Windows с компилятором MinGW? У MS компилятора есть директива #import, которая генерирует обертку для выбранной COM библиотеки, нужно что то похожее для MinGW. Юзаю Qt opensource, поэтому ActiveQT не катит.

добавлено спустя 4 минуты:

 Есть вариант писать вручную, но это займет много времени и сил..


Название: COM vs Mingw
Отправлено: WW от Июль 20, 2007, 15:21
Цитата: "-=s0L=-"
Такое впечатление, что тут или все нелегалы или все офигенно богатые, платят по три куска за кутэ....

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


Название: COM vs Mingw
Отправлено: -=s0L=- от Июль 21, 2007, 10:01
Цитата: "WW"

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


Это не есть лучшее решение для меня, потому как это дофига работы. MS компилятор позволяет делать это куда эффективней... Нужен аналог ActiveQT и их dumpcpp.


Название: COM vs Mingw
Отправлено: Alex Forth от Июль 21, 2007, 12:50
Чистый СОМ замечательно юзается без всяких посредников. А вот всякие OLE ActiveX уже ребуют приседаний. Определись, что тебе из всего этого надо?


Название: COM vs Mingw
Отправлено: -=s0L=- от Июль 21, 2007, 14:13
Цитата: "Alex Forth"
Чистый СОМ замечательно юзается без всяких посредников. А вот всякие OLE ActiveX уже ребуют приседаний. Определись, что тебе из всего этого надо?


Не спорю, что замечательно, но куда замечательней написать например word->Documents->Add("file.doc"), чем долбаться с интерфейсами, инвоками, диспатчами и другой чушью.. Конкретно мне всего лишь надо заюзать Excel сервер, чтоб сделать репорт.


Название: COM vs Mingw
Отправлено: Alex Forth от Июль 21, 2007, 14:21
Это уже ActiveX. ИМХО тащи с лесного базара комерческую Qt и не парся.
Или сделай на MFC врапер с нормальнім интерфейсом, засунь его в либу и юзай откуда угодно


Название: COM vs Mingw
Отправлено: -=s0L=- от Июль 21, 2007, 17:13
Цитата: "Alex Forth"
Это уже ActiveX. ИМХО тащи с лесного базара комерческую Qt и не парся.
Или сделай на MFC врапер с нормальнім интерфейсом, засунь его в либу и юзай откуда угодно


коммерческая qt у меня есть, но я уже писал, что этот вариант не подходит.. А mfc юзать не обязательно, #import вполне справляется. Получается что в итоге все равно надо делать это отдельным приложением, хоть на другом языке, т.к. по лицензионным соображениям я не могу использовать автоматизацию COM в приложении на qt-opensource.


Название: COM vs Mingw
Отправлено: Tonal от Июль 21, 2007, 17:17
Excel экпортирует дуальные интерфейсы.
Это значит, что к его объектной модели доступ не только через IDispatch с Invoce, а через нормальные COM-овские интерфейсы.
А работа с ними гораздо менее напряжна чем с IDispatch-ем - обёртки требует подсчёт ссылок и проверка ошибок. ;-)