Russian Qt Forum

Qt => Общие вопросы => Тема начата: spectre71 от Май 13, 2010, 15:08



Название: Process.setProcessChannelMode(QProcess::ForwardedChannels) Qt 4.6/mac os 10.6
Отправлено: spectre71 от Май 13, 2010, 15:08
Код
C++ (Qt)
 QProcess Process;
 Process.setProcessChannelMode(QProcess::ForwardedChannels);
 if(!StdOutFile.isEmpty()) {Process.setStandardOutputFile(StdOutFile);}
 if(!StdErrFile.isEmpty()) {Process.setStandardErrorFile (StdErrFile);}
 Process.start(CmdLine);
 


Цитировать
QProcess::ForwardedChannels   2   QProcess forwards the output of the running process onto the main process. Anything the child process writes to its standard output and standard error will be written to the standard output and standard error of the main process.

Под виндой работает все правильно. Если StdOutFile/StdErrFile заданы, то данные выводятся в них. Если кто-то из них не задан, то данные выводятся в соответствующий канал главного процесса.

Однако под MAC для Process.setProcessChannelMode(QProcess::ForwardedChannels);
Код
C++ (Qt)
Process.setStandardOutputFile(StdOutFile);
Process.setStandardErrorFile (StdErrFile);
Просто игнорируются! Данные всегда выводятся в соответствующий канал главного процесса.

В доке ничего подобного не описано. Явно бага!