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

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: 1 ... 21 22 [23]
331  Qt / ActiveX / Re: OpenOffice, как пользоваться "com.sun.star.beans.PropertyValue"? : Ноябрь 14, 2013, 13:20
Правда оказалось, что с сигналами косяк - они просто не поддерживаются, либо поддерживаются через ужасные костыли.

С подобными костылями разбираюсь в другом COM объекте. Где можно посмотреть на интерфейсы OO, чтоб сравнить?
332  Qt / ActiveX / Re: ActiveQt подключение к events : Ноябрь 14, 2013, 09:53
Решение есть, почти написал, приведу в порядок и опубликую.

Но есть вопрос к знатокам COM (ActiveX).
Можно ли объединить QObject и IUnknown в одном объекте (нужно для задействования сигнального механизма Qt)? И тот и другой классы требуют чтобы были указаны первым при наследовании, особенно это касается IUnknown для правильного формирование vtable. Я прав?
Код:
interface IAgentEvent : public IUnknown
{
...
}

class AgentEvent : public QObject, public IAgentEvent
{
    Q_OBJECT
...
}
333  Qt / Qt-инструментарий / Re: Своя сборка Qt5.1 на Windows и проблемы на этапе configure : Ноябрь 12, 2013, 22:55
для Windows был скачан zip? в zip'е есть дополнительный configure.exe, на винде именно он и конфигурит
334  Qt / Qt-инструментарий / Re: Qt5.1.1 Сборка документации под Windows : Ноябрь 12, 2013, 22:51
Qt собралась без проблем? Было подобное, когда сборка самой Qt не закончилась нормально.
335  Qt / Qt-инструментарий / Re: ищу пару hotkey для qtcreator : Ноябрь 12, 2013, 22:42
1. Не совсем то, но похоже: Настройки среды, клавиатура, команда называется SideBar.Open Documents

2. У меня так сработало: Alt+X (иногда еще надо нажать: ESC, Alt+X) (Alt+X = Sidebar.Projects)
336  Qt / ActiveX / ActiveQt подключение к events : Ноябрь 12, 2013, 13:38
Здравствуйте.

Есть Qt 5.1.1 и Windows XP 32 bit.

Есть некий COM объект, вот часть idl:
Код:
COM объект реализует несколько интерфейсов, среди прочих IAgentEvents
[
    object,
    uuid(0610FFE9-0FAA-46d1-B3E1-A1377D793E10),
    oleautomation,
    pointer_default(unique)
]
interface IAgentEvents:IUnknown
{
    HRESULT InitOnAdvise([in] BSTR status,
                         [in] IQueueCollection* queues,
                         [in] IAgentPhoneSession* session);
    HRESULT OnPhoneSessionOpened( [in] IAgentPhoneSession* session);
    HRESULT OnStatusChanged( [in] BSTR status);
};

И есть объект реализующий этот интерфейс:
[
uuid(F24B5336-8DDA-4f8f-B561-78AE4D335657),
helpstring("Call Center Agent")
]
coclass CallCenterAgent{
[default] interface IAgent;
[source,default] interface IAgentEvents;
};

получаю объект агента следующим образом:
Код:
QAxObject* agent = callCenter->querySubObject("Agent()");
объект нормально создается, но к объекту не "цепляются" события:
InitOnAdvise(...);
OnPhoneSessionOpened(...);
OnStatusChanged(...);

посмотрел по исходному коду Qt:
события в QAxObject инициализируются (вызывается QAxBase::connectNotify()), только во время первого QObject::connect к сигналу этого объекта.
и еще в qaxbase.cpp есть код:
Код:
TYPEKIND eventKind = eventAttr->typekind;
eventinfo->ReleaseTypeAttr(eventAttr);
if (eventKind != TKIND_DISPATCH) {
    eventinfo->Release();
    break;
}
как раз игнорируется мой случай

В другом COM объетке связанном с вышеописанным есть такое описание:

Код:
[
    uuid(84692E4E-5D0D-4f41-B298-B974792FD8A4),
    helpstring("Connection Class")
]
coclass CSConnection
{
    [default] interface ICSConnection;
    [default, source] dispinterface _ICSConnectionEvents;
};

В котором события описаны как:
dispinterface _ICSConnectionEvents

С отловом событий в этом объекте проблем нет.


Как быть? Как поймать события?
Может кто знает куда копнуть для более низкоуровневой реализации отлова событий?
.net цепляется без проблем к этому объекту и его событиям.
Уже думаю писать обертку .net + qt, но тоже пока не знаю с какой стороны подойти.

337  Qt / Общие вопросы / Re: Сжатие данных средствами QT 4.х.х. : Сентябрь 30, 2009, 11:04
оно?
http://ftp://ftp.qtsoftware.com/qt/solutions/lgpl/qtiocompressor-2.3-opensource.zip
Страниц: 1 ... 21 22 [23]

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