Russian Qt Forum
Ноябрь 23, 2024, 07:28
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Многопоточное программирование, процессы
>
QtDBus - избитая тема?
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: QtDBus - избитая тема? (Прочитано 6923 раз)
Bepec
Гость
QtDBus - избитая тема?
«
:
Сентябрь 10, 2012, 10:05 »
Приветствую знатоков
Вопрос: возможно ли собрать и использовать QtDBus под windows? Как?
PS1: Да, я видел тему с сборкой под 2005 студию. Не получилось. Точнее собрать DBus получилось, но вот собрать проект использующий его - нет.
PS2: Да, я смотрел примеры из example, да они не компилятся и неправильные по заверениям нашего же форума.
PS3: Да, сам разобраться не смог, особенно с упоротостью Qt, который не видит QDBusAbstractAdaptor и прочие классы. (пути прописаны, но увы...)
PS4: Прошу помощи
PPS Qt 4.7.2 (сменить низя), W7x64, руки. Буду рад маленькому примеру хотя бы создающего этот адаптерс...
Записан
mutineer
Гость
Re: QtDBus - избитая тема?
«
Ответ #1 :
Сентябрь 10, 2012, 10:19 »
Насколько я видел в интернетах реализация DBus под венды кривая, косая и не факт что работает...
Но в любом случае, ты DBus в винду поставил?
Записан
xokc
Птица говорун
Offline
Сообщений: 976
Re: QtDBus - избитая тема?
«
Ответ #2 :
Сентябрь 10, 2012, 13:04 »
Года два назад пробовал - локально всё работало, но забросил - ибо показалось геморройным. Как обстоит сейчас - не знаю.
Записан
Bepec
Гость
Re: QtDBus - избитая тема?
«
Ответ #3 :
Сентябрь 10, 2012, 13:07 »
Собственно я почему соблазнился - возможность использовать службу и любое количество программ на 1 шине. :/
Видимо придётся на сокетах всё делать опять. Ибо действительно геморройное.
PS DBus стоит, примеры qtшные бачат, но... Но блин они не собираются
Т.е. бинарники работают, но код примеров какой то отстойно неправильный, на что оно и плюется.
PPS я так понимаю, сокеты под винду - единственно нормальный вариант взаимодействия нескольких приложений?
Записан
Serr500
Гость
Re: QtDBus - избитая тема?
«
Ответ #4 :
Сентябрь 10, 2012, 13:22 »
Цитата: Bepec от Сентябрь 10, 2012, 13:07
я так понимаю, сокеты под винду - единственно нормальный вариант взаимодействия нескольких приложений?
Можно ещё посмотреть в сторону QSystemSemaphore и QSharedMemory. Но по-хорошему под виндой надо использовать [именованные] каналы ([named] pipe), которые, если не ошибаюсь, реализует QLocalSocket.
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: QtDBus - избитая тема?
«
Ответ #5 :
Сентябрь 10, 2012, 13:29 »
Цитата: Serr500 от Сентябрь 10, 2012, 13:22
Можно ещё посмотреть в сторону QSystemSemaphore и QSharedMemory. Но по-хорошему под виндой надо использовать [именованные] каналы ([named] pipe), которые, если не ошибаюсь, реализует QLocalSocket.
QSystemSemaphore + QSharedMemory = хорошая рекомендация. Там часто той передачи с гулькин нос, чего запрягать кобылу (DBus или др)? Да и по скорости QSharedMemory первая
Записан
Bepec
Гость
Re: QtDBus - избитая тема?
«
Ответ #6 :
Сентябрь 10, 2012, 13:39 »
Меня прельщало в DBUS возможность связи с нескольких сессий, обёртка с сигналами и возможность подрубать скок угодно любых программ на шину
Посмотрю семафоры и шаред мемори, авось пойму что нибудь
PS спасибо за ответы.
Записан
Serr500
Гость
Re: QtDBus - избитая тема?
«
Ответ #7 :
Сентябрь 10, 2012, 18:52 »
Если ограничиться только виндой и требуется посылать сообщения нескольким приложениям, то, возможно, подойдут виндовые широковещательные сообщения. Например,
SendMessage
с hWnd=HWND_BROADCAST или
BroadcastSystemMessage
Записан
Bepec
Гость
Re: QtDBus - избитая тема?
«
Ответ #8 :
Сентябрь 10, 2012, 19:03 »
Если честно хотелось кроссплатформенности
Просто работаю % на 90 под виндой, но эти 10%...
Ну в общем понятно
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: QtDBus - избитая тема?
«
Ответ #9 :
Сентябрь 10, 2012, 19:16 »
Цитата: Bepec от Сентябрь 10, 2012, 19:03
Если честно хотелось кроссплатформенности
Просто работаю % на 90 под виндой, но эти 10%...
Ну в общем понятно
Помнится потратил на это (семафор + шаред) дня полтора, никаких трудностей не испытал. Так то в нативняке и для 2-х платформ. На Qt должно быть полдня.
Техника простая: в каждом приложении заводите 2 семафора (имена привязываете к полному пути). На одном семафоре приложение ждет, другой сигналит. Шаред кусок делите на участки, чтобы между приложениями они не пересекались (так проще чем лочить). Ну вот собственно и все
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...