Название: ActiveX объект не создается в консольном приложении. Отправлено: Leex от Август 18, 2011, 09:01 Валит сегфолт при попытке создать объект.
Сгенерил с помощью dumpcpp обертку, подключил к проекту. Вот собственно код: Код: #include "iidk_comlib.h" Код: QT += core Чего может быть не так? Название: Re: ActiveX объект не создается в консольном приложении. Отправлено: Пантер от Август 18, 2011, 09:05 QCoreApplication создай, может поможет.
Название: Re: ActiveX объект не создается в консольном приложении. Отправлено: Leex от Август 18, 2011, 09:12 Попробовал:
Код: #include <QtCore/QCoreApplication> Название: Re: ActiveX объект не создается в консольном приложении. Отправлено: Leex от Август 18, 2011, 12:27 Помогло создание QApplication.
Правда как-то криво это все выглядит: Класс, который содержит ActiveX объект и работает с ним, должен еще содержать "ненужный" QApplication, и все это еще должно находиться в библиотеке... Может есть более логичные способы работы с ActiveX без создания левых объектов? Название: Re: ActiveX объект не создается в консольном приложении. Отправлено: Странник от Август 18, 2011, 12:28 необходимо провести инициализацию COM перед началом работы.
Код: if (CoInitialize(0) == S_OK) //можно работать с COM Название: Re: ActiveX объект не создается в консольном приложении. Отправлено: Leex от Август 18, 2011, 12:41 Пробовал я CoInitialize - не катит, так же вываливается
Название: Re: ActiveX объект не создается в консольном приложении. Отправлено: Странник от Август 18, 2011, 12:55 какая версия Qt, какой компилятор? у меня на Qt 4.7.3 MinGW (SDK) работает все прекрасно в консоли.
желательно минимальный пример. Название: Re: ActiveX объект не создается в консольном приложении. Отправлено: Leex от Август 18, 2011, 13:04 qt 4.7.3 mingw 4.4
минимальный пример в шапке. Название: Re: ActiveX объект не создается в консольном приложении. Отправлено: Nimbus от Сентябрь 04, 2011, 12:07 необходимо провести инициализацию COM перед началом работы. o_O а разве COM-объекты создаются через оператор new? : )Код: if (CoInitialize(0) == S_OK) //можно работать с COM |