Вопрос по вызову QProcess ? |
Здравствуйте, гость ( Вход | Регистрация )
Вопрос по вызову QProcess ? |
AntonTatu |
16.3.2009, 12:07
Сообщение
#1
|
Студент Группа: Участник Сообщений: 48 Регистрация: 27.11.2008 Пользователь №: 437 Спасибо сказали: 0 раз(а) Репутация: 0 |
Всем привет!
Возникла необходимость вызывать из одной программы другую, вот такой код не работает, как правильно ?
|
|
|
Litkevich Yuriy |
16.3.2009, 12:08
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
AntonTatu |
16.3.2009, 12:27
Сообщение
#3
|
Студент Группа: Участник Сообщений: 48 Регистрация: 27.11.2008 Пользователь №: 437 Спасибо сказали: 0 раз(а) Репутация: 0 |
|
|
|
kwisp |
16.3.2009, 12:35
Сообщение
#4
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
да как я уже только не писал ну там же в классе есть куча всего, вывод ошибок, проверка в каком состоянии процесс. при старте объект высылает сигнал о старте. результатт всего этого какой??? есть статические функции запуска программ. проверял??? смотрел??? на форуме есть темы по QProcess. |
|
|
BRE |
16.3.2009, 12:38
Сообщение
#5
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
|
|
|
AntonTatu |
16.3.2009, 13:15
Сообщение
#6
|
Студент Группа: Участник Сообщений: 48 Регистрация: 27.11.2008 Пользователь №: 437 Спасибо сказали: 0 раз(а) Репутация: 0 |
да как я уже только не писал А что пишет? Что QProcess::error() возвращает? А ты случаем не так вызываешь?
А то при выходе из функции, процесс 1.exe будет убит, не успев запуститься. ну вобщем да.... , а как же мне его тогда вызывать ? |
|
|
BRE |
16.3.2009, 13:21
Сообщение
#7
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
ну вобщем да.... , а как же мне его тогда вызывать ? А ты QProcess не на стеке создавай:
Только после завершения процесса, не забывай объект удалить. или, если надо, дожидайся завершения процесса в функции: bool QProcess::waitForFinished ( int msecs = 30000 )
Сообщение отредактировал BRE - 16.3.2009, 13:25 |
|
|
AntonTatu |
16.3.2009, 16:24
Сообщение
#8
|
Студент Группа: Участник Сообщений: 48 Регистрация: 27.11.2008 Пользователь №: 437 Спасибо сказали: 0 раз(а) Репутация: 0 |
Только после завершения процесса, не забывай объект удалить. или, если надо, дожидайся завершения процесса в функции: bool QProcess::waitForFinished ( int msecs = 30000 )
в общем копался копался докапался:
только почему то задержка myProc.waitForFinished(); не работает... почему ? |
|
|
BRE |
16.3.2009, 16:55
Сообщение
#9
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
в общем копался копался докапался:
только почему то задержка myProc.waitForFinished(); не работает... почему ? Что значит не работает, сразу выходит? Так это потому, что ты процесс отделяешь (detach). После выполнения myProc.startDetached процесс начинает жить своей жизнью. Даже если ты закроешь программу запустившую процесс, процесс будет работать дальше. Для таких процессов можно не ждать его завершения. |
|
|
Litkevich Yuriy |
16.3.2009, 17:58
Сообщение
#10
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
BRE, AntonTatu, не цитируйте целыми сообщениями, как цитировать по чуть-чуть написано здесь
|
|
|
Текстовая версия | Сейчас: 26.12.2024, 20:49 |