Форум вопросов и ответов

Форум вопросов и ответов (https://www.otvetnemail.ru/)
-   Продолжение старого архива (https://www.otvetnemail.ru/prodolzhenie-starogo-arhiva-804/)
-   -   Не работает QAxBase::asVariant() [решено] (https://www.otvetnemail.ru/prodolzhenie-starogo-arhiva-804/ne-rabotaet-qaxbase-asvariant-resheno-340866/)

Guest 30.09.2011 13:35

Не работает QAxBase::asVariant() [решено]
 
Добрый день всем!Возникла странная проблема. Почему-то при вызове QAxBase::asVariant() у объекта QAxWidget возвращает пустой вариант. Причем у QAxObject все работает замечательно. Покапался я немного в коде Qt и обнаружил, что в функцииКод:QVariant QAxBase::asVariant() constкоторая находится в файле qaxbase.cpp присутствует закомментированная строка.Код:QVariant QAxBase::asVariant() const{ if (!d->ptr && !d->initialized) { ((QAxBase*)this)->initialize(&d->ptr); d->initialized = true; } QVariant qvar; QByteArray cn(className()); if (cn == "QAxObject" || cn == "QAxBase") { if (d->dispatch()) qVariantSetValue(qvar, d->dispatch()); else if (d->ptr) qVariantSetValue(qvar, d->ptr); } else { cn = cn.mid(cn.lastIndexOf(':') + 1); QObject *object = qObject(); if (QMetaType::type(cn)) qvar = QVariant(qRegisterMetaType(cn + "*"), &object);// qVariantSetValue(qvar, qObject(), cn + "*"); } return qvar;}Очень странно... Версия Qt 4.4.3. Просто хочу узнать в чем дело (в Qt или в компоненте) и что я делаю не так. На VB компонента работает хорошо.


Часовой пояс GMT, время: 16:23.


© www.otvetnemail.ru - Форум вопросов и ответов.