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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: COM vs Mingw  (Прочитано 8715 раз)
-=s0L=-
Гость
« : Июль 19, 2007, 15:38 »

Кто нить знает как легальным способом (т.е. бесплатно Улыбающийся ) испоьльзовать COM компоненты в Windows с компилятором MinGW? У MS компилятора есть директива #import, которая генерирует обертку для выбранной COM библиотеки, нужно что то похожее для MinGW. Юзаю Qt opensource, поэтому ActiveQT не катит.

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

 Есть вариант писать вручную, но это займет много времени и сил..
Записан
WW
Гость
« Ответ #1 : Июль 20, 2007, 15:21 »

Цитата: "-=s0L=-"
Такое впечатление, что тут или все нелегалы или все офигенно богатые, платят по три куска за кутэ....

Поскольку пишешь под винду и ничего никуда переносить не собираешься, то подключаешь соотв. h-файл от мс и вперед дергать интерфесы напрямую.
Записан
-=s0L=-
Гость
« Ответ #2 : Июль 21, 2007, 10:01 »

Цитата: "WW"

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


Это не есть лучшее решение для меня, потому как это дофига работы. MS компилятор позволяет делать это куда эффективней... Нужен аналог ActiveQT и их dumpcpp.
Записан
Alex Forth
Гость
« Ответ #3 : Июль 21, 2007, 12:50 »

Чистый СОМ замечательно юзается без всяких посредников. А вот всякие OLE ActiveX уже ребуют приседаний. Определись, что тебе из всего этого надо?
Записан
-=s0L=-
Гость
« Ответ #4 : Июль 21, 2007, 14:13 »

Цитата: "Alex Forth"
Чистый СОМ замечательно юзается без всяких посредников. А вот всякие OLE ActiveX уже ребуют приседаний. Определись, что тебе из всего этого надо?


Не спорю, что замечательно, но куда замечательней написать например word->Documents->Add("file.doc"), чем долбаться с интерфейсами, инвоками, диспатчами и другой чушью.. Конкретно мне всего лишь надо заюзать Excel сервер, чтоб сделать репорт.
Записан
Alex Forth
Гость
« Ответ #5 : Июль 21, 2007, 14:21 »

Это уже ActiveX. ИМХО тащи с лесного базара комерческую Qt и не парся.
Или сделай на MFC врапер с нормальнім интерфейсом, засунь его в либу и юзай откуда угодно
Записан
-=s0L=-
Гость
« Ответ #6 : Июль 21, 2007, 17:13 »

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


коммерческая qt у меня есть, но я уже писал, что этот вариант не подходит.. А mfc юзать не обязательно, #import вполне справляется. Получается что в итоге все равно надо делать это отдельным приложением, хоть на другом языке, т.к. по лицензионным соображениям я не могу использовать автоматизацию COM в приложении на qt-opensource.
Записан
Tonal
Гость
« Ответ #7 : Июль 21, 2007, 17:17 »

Excel экпортирует дуальные интерфейсы.
Это значит, что к его объектной модели доступ не только через IDispatch с Invoce, а через нормальные COM-овские интерфейсы.
А работа с ними гораздо менее напряжна чем с IDispatch-ем - обёртки требует подсчёт ссылок и проверка ошибок. ;-)
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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