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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Проблемы с ActiveQt  (Прочитано 10857 раз)
nEoN
Гость
« : Сентябрь 26, 2005, 19:02 »

Пытаюсь использовать COM библиотеку в своём Qt проекте. Для этих целей в Qt4-win есть утилитка dumpcpp, которая генерит Qt/c++ обёртку для библиотеки COM-объектов (type library). Но у меня она генерит не компилируемый код, ошибки разного рода, перечилять долго. При этом стандартный пример examples\activeqt\qutlook работает нормально.
Кто нибуть реально использовал ActiveQt ?
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #1 : Сентябрь 26, 2005, 20:38 »

реально использовали
но в qt3
там все работало

а что не компилит в студию
Записан
nEoN
Гость
« Ответ #2 : Сентябрь 27, 2005, 08:27 »

Изначально такая ошибка возникает :
Код:
c1chart2d7.cpp
c:\Projects\Qt.test\ax_test\c1chart2d7.h(9362) : error C2512: 'C1Chart2D7::Chart2D' : no appropriate default constructor available

c1chart2d7.h - это сгенерированный утилитой dumpcpp файл.
После исправления этой ошибки вручную, вылезает штук 200 других. Например :
Код:
c:\Qt\4.0.1\include\QtCore\../../src\corelib\kernel\qmetatype.h(83) : error C2512: 'C1Chart2D7::IBorder_Dual' : no appropriate default constructor available
        c:\Qt\4.0.1\include\QtCore\../../src\corelib\kernel\qmetatype.h(117) : see reference to function template instantiation 'void *qMetaTypeConstructHelper<T>(const T *)' being compiled
        with
        [
            T=C1Chart2D7::IBorder_Dual
        ]
        c:\Projects\Qt.test\ax_test\c1chart2d7.h(5338) : see reference to function template instantiation 'int qRegisterMetaType<C1Chart2D7::IBorder_Dual>(const char *,T *)' being compiled
        with
        [
            T=C1Chart2D7::IBorder_Dual
        ]

Если хочешь, могу по мылу сбросить OCX библиотеку (около 2Mb).
Вчера весь день убил на борьбу с ActiveQt  Грустный .
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #3 : Сентябрь 27, 2005, 08:57 »

понятно

присылать не надо, надо написать trolltech в баги и ждать ответа

мне тоже скоро предстоит написать пару activex
Записан
nEoN
Гость
« Ответ #4 : Сентябрь 27, 2005, 10:05 »

Отправил им bugreport. А мне пока придётся в исходниках dumpcpp ковырятся, благо они открыты.
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #5 : Сентябрь 27, 2005, 10:56 »

я бы посоветовал сесть на 3.4 и на ней пока писать
Записан
nEoN
Гость
« Ответ #6 : Сентябрь 27, 2005, 11:34 »

В Qt3 уже не вернуться, у меня проект на Qt4.
А ты в Qt3 как осуществлял вызов методов COM объектов, динамически через dynamicCall() ?
Записан
nEoN
Гость
« Ответ #7 : Сентябрь 27, 2005, 15:34 »

В результате небольшой переписки с Trolltech мне ответили, что моя COM библиотека (type library) имеет редкую логическую структуру и что dumpcpp имеет право неадекватно реагировать на такие вещи. И порекомендовали мне для таких редких библиотек вместо ActiveQt использовать COM API или ATL  :roll:.
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #8 : Сентябрь 27, 2005, 16:09 »

Цитата: "nEoN"
В Qt3 уже не вернуться, у меня проект на Qt4.
А ты в Qt3 как осуществлял вызов методов COM объектов, динамически через dynamicCall() ?


да
Записан
nEoN
Гость
« Ответ #9 : Сентябрь 27, 2005, 16:28 »

Динамический способ и в Qt4 работает, просто в четвёрке появилась возможность генерировать обёртку (типы, свойства, методы) для COM библиотек, которая ещё больше упрощает работу с COM объектами.
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #10 : Сентябрь 27, 2005, 20:55 »

а дергал в 3 версии fastreport
и нормально получалось
Записан
vinnitu
Гость
« Ответ #11 : Март 10, 2010, 11:36 »

реально использовали
но в qt3
там все работало

а что не компилит в студию

а можно поделиться исходниками\либами от activeqt для qt3?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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