Как правильно запустить несколько последовательных процессов? |
Здравствуйте, гость ( Вход | Регистрация )
Как правильно запустить несколько последовательных процессов? |
ssoft |
5.9.2011, 14:48
Сообщение
#11
|
Участник Группа: Участник Сообщений: 130 Регистрация: 17.2.2010 Из: Москва Пользователь №: 1470 Спасибо сказали: 30 раз(а) Репутация: 3 |
Оно то может и работает. Но у меня не консольное приложение. У меня есть 2-а потока. Главный и второстепенный, в котором и запускается обработка. Так вот там уже Ваш способ не прокатит Проблема ведь в том, что я не могу запустить обработку НЕ в конструкторе класса, который помещаю в поток. Очень даже прокатывает. 1. Причем здесь тип приложения? ProcessManager можно создать в любом потоке, можно и во второстепенном. 2. Обработка, как я понимаю, происходит в вызываемых процессах, а не во второстепенном потоке. Здесь предложен способ последовательного запуска процессов обработки без использования второстепенного потока, при этом GUI не будет подвешиваться, так как используется ассинхронное оповещение через очередь сообщений Qt. |
|
|
RazrFalcon |
5.9.2011, 16:02
Сообщение
#12
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Ну у меня ваш код не заработал. Так что...
|
|
|
ssoft |
7.9.2011, 13:06
Сообщение
#13
|
Участник Группа: Участник Сообщений: 130 Регистрация: 17.2.2010 Из: Москва Пользователь №: 1470 Спасибо сказали: 30 раз(а) Репутация: 3 |
Ну у меня ваш код не заработал. Так что... Всем желающим рабочий пример
Прикрепленные файлы
|
|
|
RazrFalcon |
7.9.2011, 17:05
Сообщение
#14
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
уже весeло...Зачем вообще юзать std в кьюте? Сообщение отредактировал RazrFalcon - 7.9.2011, 17:06 |
|
|
RazrFalcon |
11.9.2011, 22:30
Сообщение
#15
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Вопрос все еще открыт.
|
|
|
Sokoloff |
12.9.2011, 11:33
Сообщение
#16
|
Участник Группа: Участник Сообщений: 237 Регистрация: 1.4.2009 Из: Москва Пользователь №: 654 Спасибо сказали: 50 раз(а) Репутация: 11 |
|
|
|
RazrFalcon |
12.9.2011, 15:33
Сообщение
#17
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Если вы про тот что я привел, то тут тоже не все гладко.
Валятся такие ошибки:
Если сделать дополнительно waitForFinished(), то вроде пашет, но текст на сигнал readyReadStandardOutput() не приходит, так как процесс ждет... Вот и не ясно как оно должно работать? Вопрос: нужен ли waitForFinished() внутри дочернего потока? |
|
|
RazrFalcon |
22.9.2011, 16:29
Сообщение
#18
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Up
|
|
|
RazrFalcon |
13.10.2011, 4:15
Сообщение
#19
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Написал пример (в аттаче).
Почему оно не работает? У меня с waitForFinished(); главное окно не появляется, без - валятся потоки: Раскрывающийся текст
А вывод должен быть таким:
Заранее спасибо! Сообщение отредактировал RazrFalcon - 13.10.2011, 4:15
Прикрепленные файлы
|
|
|
BRE |
13.10.2011, 7:28
Сообщение
#20
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
Ну так Qt в консоль тебе все пишет.
|
|
|
Текстовая версия | Сейчас: 30.11.2024, 15:33 |