crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в не стартует процесс в Qt5
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
tradmir@mail.ru Дата 29.12.2017, 18:49
 
Цитата(Алексей1153 @ 23.12.2017, 10:14) *
tradmir@mail.ru, обычно копирования dll достаточно, не требуется установка всего Qt. Там что-то другое


Да нет, просто малоизвестная фича от Qt, а именно:
Под Windows XP процесс запускается, если вы укажете рабочую директорию, типа process1.setWorkingDirectory("c:/..."),
а под Windows 7 нужно больше: QDir::setCurrent("c:/...").

Как обычно, чем больше знаешь, тем больше граница между тем, что знаешь и не знаешь.

Вопрос закрыт,
всем спасибо.

С уважением,
Радмир
Алексей1153 Дата 23.12.2017, 10:14
  tradmir@mail.ru, обычно копирования dll достаточно, не требуется установка всего Qt. Там что-то другое
tradmir@mail.ru Дата 22.12.2017, 19:09
 
Цитата(Алексей1153 @ 21.12.2017, 8:39) *
tradmir@mail.ru,
попробуй сначала дождаться, когда первый процесс запустится

bool QProcess::waitForStarted(int msecs)

Программа запускает первую команду, дожидается старта или состояния "исполняется" ,
дожидается состояния финишировала и стартует процесс2.
Процесс2 не стартует.

Похоже нужно ставить Qt5 полностью на Windows 7, хотел обойтись только пакетом зависимых dll.
Поставлю, результат сообщу.

Радмир
Алексей1153 Дата 21.12.2017, 7:39
  tradmir@mail.ru,
попробуй сначала дождаться, когда первый процесс запустится

bool QProcess::waitForStarted(int msecs)
tradmir@mail.ru Дата 20.12.2017, 19:15
  Уважаемые знатоки!

хочу запустить из программы две команды командного окна и получить результат. В qt4 все работает, а qt5 не стартует второй процесс.
процесс 1 запускает команду:
process1.start("myecho.exe сабака");
если процесс1 стартовал и/или выполняется, то ожидается финиш процесса 1 и вызвается процесс 2
if (process1.state()==QProcess::Starting || process1.state()==QProcess::Running){
if (process1.waitForFinished()){

process2.start(cmd2);
далее проверяется состояние процесса 2, оказывается, состояние процесса есть Not running

Сборка собранная под Qt5 в операционной системе Windows XP(32 bit) работает на Windows XP(32 bit),
та же сборка собранная под Qt5 в операционной системе Windows XP(32 bit) не работает на Windows 7.

Подскажите в чем проблема?

С уважением,
Радмир
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 29.3.2024, 12:39