![]() |
|
![]() ![]() ![]() |
|
loneybibi |
|
|||
![]() Любитель ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 28.5.2010 Где: Донецк (Украина) Репутация: 3 Всего: 3 |
Добрый день всем!
Есть приложение. После изменения настроек, что бы они вступили все в силу нужно перезапустить приложение. Нашел вариант что то с использованием QProcess но там не очень понятно описано. В том варианте не понял как запустить процесс так что бы он не был привязан к главному потоку и перед запуском новой копии приложения дождаться завершения первой копии? Какие еще варианты возможны? Желательно платформо-независимые! Спасибо за ответы ! ![]() Это сообщение отредактировал(а) loneybibi - 31.1.2012, 14:22 -------------------- Red Hat Fedora 17 Qt 4.8.1 (x64), GCC 4.4.3, G++ 4.4.3, QtCreator 2.4.1 |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
QProces::start запустит программу как отдельный процесс. И твоя программа продолжит выполнение. В чем проблемы?
Это сообщение отредактировал(а) bsa - 31.1.2012, 15:03 |
|||
|
||||
loneybibi |
|
|||
![]() Любитель ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 28.5.2010 Где: Донецк (Украина) Репутация: 3 Всего: 3 |
Ну насколько я понял что бы запустить процесс независимо от главного надо QProcess::startDetached() а просто start() будет привязан к главному потоку. И самое главное как дождаться завершения первой копии а только потом запустить новую ? -------------------- Red Hat Fedora 17 Qt 4.8.1 (x64), GCC 4.4.3, G++ 4.4.3, QtCreator 2.4.1 |
|||
|
||||
Sahab |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 151 Регистрация: 1.9.2009 Репутация: 2 Всего: 3 |
void QProcess::finished ( int exitCode, QProcess::ExitStatus exitStatus ) [signal]
|
|||
|
||||
loneybibi |
|
||||
![]() Любитель ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 28.5.2010 Где: Донецк (Украина) Репутация: 3 Всего: 3 |
Насколько я понял это сигнал завершения второго потока. Решил проблему очень просто:
-------------------- Red Hat Fedora 17 Qt 4.8.1 (x64), GCC 4.4.3, G++ 4.4.3, QtCreator 2.4.1 |
||||
|
|||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
loneybibi, а причем тут потоки? Ты определись с терминологией. Почитай, чем "процесс" отличается от "потока".
Тебе совсем не обязательно сначала делать quit. Запускай второй процесс и выходи из текущего штатным образом. Спешки никакой нет, если, конечно, текущий процесс не держит важные ресурсы. В этом случае необходимо сначала их освободить, а уже затем запускать второй процесс. |
|||
|
||||
loneybibi |
|
|||
![]() Любитель ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 28.5.2010 Где: Донецк (Украина) Репутация: 3 Всего: 3 |
Извиняюсь. В терминологии не силен иногда путаюсь. В том то и дело что я не просто так спрашивал именно дождаться завершения текущего приложения и только потом запустить новое. Это важно так как приложение не допускает запуск второй копии! -------------------- Red Hat Fedora 17 Qt 4.8.1 (x64), GCC 4.4.3, G++ 4.4.3, QtCreator 2.4.1 |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
Это сообщение отредактировал(а) borisbn - 1.2.2012, 18:05 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
loneybibi |
|
||||
![]() Любитель ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 28.5.2010 Где: Донецк (Украина) Репутация: 3 Всего: 3 |
Спасибо ! Тоже отличный вариант! ![]() -------------------- Red Hat Fedora 17 Qt 4.8.1 (x64), GCC 4.4.3, G++ 4.4.3, QtCreator 2.4.1 |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |