Russian Qt Forum

Qt => ActiveX => Тема начата: makes от Июль 02, 2010, 17:00



Название: падает отладчик!
Отправлено: makes от Июль 02, 2010, 17:00
Добрый день!

Кто-нибудь сталкивался с тем, что отладчик падает при попытке создать ActiveX объект?
(сообщение: "unhandled exception ... in gdb-i686-pc-mingw32.exe")

Пишу
1. COM server (DLL, ActiveQt);
2. клиент, тоже Qt (ах-контролы на форме клиента размещаю методом "преобразовать виджет").

Запускаю на отладку клиента.
Отладчик падает на вызове
CoCreateInstance(QUuid(ctrl), 0, CLSCTX_SERVER, IID_IUnknown, (void**)ptr)
когда вызов происходит из (привожу часть стека):
--
QAxBase::initialize
QAxWidget::initialize
QAxBase::setControl
MyQtActiveX::MyQtActiveX // враппер моего контрола (сгенерирован dumpcpp)
Ui_MainWindow::setupUi;
--

Там же, когда вместо своего контрола использую WindowsMediaPlayer, отрабатывает нормально.
Проверил свой контрол в васике, тоже все нормально.

Подскажите с чем это может быть связано? как отлаживать контрол?

П.С.
фабрику определяю так:
Код:
QAXFACTORY_BEGIN( libId, appId )
        QAXCLASS( MyQtActiveX )
QAXFACTORY_END()

а класс так:
Код:
class MyQtActiveX
    : public QGraphicsView
    , private Ui::MyQtActiveX
{
    Q_OBJECT
    Q_CLASSINFO("ClassID"    , "{7D9928BD-5453-4bdd-903D-E525ED17FDE5}")
    Q_CLASSINFO("InterfaceID", "{C9F6860E-2D5A-42ec-87F2-43396F4BE489}")
    Q_CLASSINFO("EventsID"   , "{1B3E9F27-F4F1-45bb-9E47-63099BCCD0E4}")
    Q_CLASSINFO("ToSuperClass", "MyQtActiveX")
    Q_CLASSINFO("CoClassAlias", "MyLib.MyQtActiveX")
...
}