Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Связка Qt+WinApi
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Ввод/Вывод, Сеть. Межпроцессное взаимодействие
512es
Доброе время суток и с наступающим всех!

Имеется приложение на WinApi, с минимальными зависимостями.
Оно подгружает dll-ку на Qt (в отдельном потоке). Получает указатель на Qt-шный класс c вызывает метод, в котором уже отрабатывает QApplication::exec().
В WinApi потоке работает цикл сообщений GetMessage() + TranslateAccelerator() + TranslateMessage() + DispatchMessage().
Всё работает отлично. Но теперь нужно наладить связь между этими двумя потоками.

Т.е. из WinApi надо как то посылать сигналы в цикл обработки сообщений Qt потока. Типа вот так:
QMetaObject::invokeMethod(object, "mySlot", Qt::QueuedConnection);

В идеале конечно связь должна быть двусторонняя.

Пока на ум приходит только использовать PostMessage().

Есть идеи?
Алексей1153
512es, DLL загружают не в потоки, а в процесс. Получать указатель на класс из DLL я бы лично побоялся - обязательно как-нибудь всё это грохнется, всего не предусмотришь. Связь можно организовать через TCP, UDP или через трубы (http://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D1%82%D0%BE%D0%BA_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85), но точно лучше избегать сообщений винды в данном случае
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.