LINUX.ORG.RU

Проблемы со вводом в дочерних процессах на Qt-4.3.1 в Windows


0

0

Пишется курсяк (некое подобие оболочки bash, только для Windows). Решил использовать Qt для кроссплатформенности, да и с Qt разобраться интересно было. Так что не пинайте, что я это на Qt пишу :) Так вот, разработка велась в Linux, где все замечательно работало. Начал тестировать в windows, и тут я обнаружил, что не могу выполнить ввод в дочерние приложения, приложение ждет ввода, но на нажатия клавиш никак не реагирует. Вот вкратце код:

QTextStream in(stdin);

QString command;

QProcess proc;

while (true)

{

command=in.readLine();

proc.setProcessChannelMode(QProcess::ForwardedChannels);

proc.start(command);

}

Если посылать данные процессу через proc.write("data"), то он их принимает. Пробовал использовать для ввода/вывода cin/cout - не помогает.

anonymous

потесчу скоро, как в венду слазаю. попробуй в while вставить QApplication::ProcessEvents() - это первое что на ум приходит. Если есть возможность - скинь исходник, можно упрощённый на teferiincub@gmail.com, я помучаю с удовольствием.

teferiincub
()
Ответ на: комментарий от teferiincub

>потесчу скоро, как в венду слазаю. попробуй в while вставить QApplication::ProcessEvents() - это первое что на ум приходит. Если есть возможность - скинь исходник, можно упрощённый на teferiincub@gmail.com, я помучаю с удовольствием.

OK, сейчас кину исходники. Хоть кто-то решил помочь, я уже задолбался в этом виндозе :-)

ЗЫ: ананимус это я

Sroot
()
Ответ на: комментарий от friday

>казалсь бы, при чем тут линукс?

Ну надо чтобы оно и там, и там работало. Линукс тут при том, что я в нем работаю, но жизнь заставила меня писать приложение для виндоз, а я про него только по наслышке знаю. К кому ж мне еще обращаться, кроме как к ЛОРовцам?

Sroot
()

Ну что, никто не поможет? :(

Sroot
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.