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

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: опять запуск процесса/проги  (Прочитано 5143 раз)
SerjVarshavskiy
Гость
« : Ноябрь 16, 2007, 17:10 »

делаю QProcess.startDetached

всё аккурат запускается, но выполнение кода после запуска не продолжается  В замешательстве
а нужно запустить и "забыть" с продолжением выполнения последующего кода

подскажите как сделать и кросплатформенно
Записан
Kainit
Гость
« Ответ #1 : Ноябрь 16, 2007, 17:35 »

А можно поподробнее
когда я запускаю
QProcess::execute("iexplore"); всё нормально
Записан
Dodge
Гость
« Ответ #2 : Ноябрь 16, 2007, 23:54 »

делаю QProcess.startDetached

всё аккурат запускается, но выполнение кода после запуска не продолжается  В замешательстве
а нужно запустить и "забыть" с продолжением выполнения последующего кода

подскажите как сделать и кросплатформенно
"кросплатформенно" - прикольное слово  Смеющийся
если не использовать x11 api или win32 и тп то получится "кросплатформенно" )

а дальше... код в студию, проблема судя по всему в коде.
Записан
SerjVarshavskiy
Гость
« Ответ #3 : Ноябрь 17, 2007, 18:44 »

...
myProcess.startDetached( strProgName );
...
далее основная прогр прослушивает порт

strProgName содержит путь/имя утилитки
утилитка разбирает txt файлик и выводит в файл время/дата при каждой новой строке

вот получается, что пока утилита не закончит своё выполнение, основная программа
не делает ничего, походу ждёт возврата из myProcess.startDetached

как бы запустить утилиту и не ждать (кросплатформенно  Показает язык)?
Записан
SerjVarshavskiy
Гость
« Ответ #4 : Ноябрь 17, 2007, 18:49 »

А можно поподробнее
когда я запускаю
QProcess::execute("iexplore"); всё нормально

QProcess::execute
Starts the program program with the arguments arguments in a new process, waits for it to finish, and then returns the exit code of the process. Any data the new process writes to the console is forwarded to the calling process.

т.е. как бы не этого хотелось, оно ждёт, а ждать не нужно
Записан
Mikhail
Программист
*****
Offline Offline

Сообщений: 587


Просмотр профиля
« Ответ #5 : Ноябрь 17, 2007, 18:58 »

а почему не использовать
void QProcess::start ( const QString & program, const QStringList & arguments, OpenMode mode = ReadWrite )
запускает, не ждет. Можно получить от него сообщения
Записан
SerjVarshavskiy
Гость
« Ответ #6 : Ноябрь 17, 2007, 20:45 »

то что нужно
спасибо
Записан
SerjVarshavskiy
Гость
« Ответ #7 : Ноябрь 17, 2007, 21:22 »

хотя не то  Непонимающий

нужно что бы процесс не умирал при уничтожении "родителя" + не вводил его в ожидание
завершения запущенной утили в QProcess
« Последнее редактирование: Ноябрь 17, 2007, 21:38 от SerjVarshavskiy » Записан
Mikhail
Программист
*****
Offline Offline

Сообщений: 587


Просмотр профиля
« Ответ #8 : Ноябрь 17, 2007, 22:00 »

НЕ умирает и не ввдит в ожидание:
QProcess * buildProcess = new QProcess();
buildProcess->start( strProgName );
Внимательно разберись
Записан
SerjVarshavskiy
Гость
« Ответ #9 : Ноябрь 17, 2007, 22:17 »

хех, а я его в стеке...
сенкс
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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