Название: объясните работу процесса Отправлено: alex от Декабрь 07, 2012, 12:57 Правильно ли я понимаю: с помощью start мы запускаем процесс, параллельно с его выполнением работает и наша программа , но с учетом цикла событий, тоесть более поздние события останавливаются. waitForStarted останавливает этот процесс и как бы пропускает его очередь в цикле до того момента как он снова не станет в очередь? и еще - я написал некоторую программу принимающую аргументы командной строки через main(argc,argv) и печатающую их в стандартный поток вывода. В программе кутэ я делаю start() этого потока с аргументами, но при этом после чтения потока вывода процесса никаких данных не приходит. в чем причина? буду рад полезным материалам из сети. :D ;)
Название: Re: объясните работу процесса Отправлено: Bepec от Декабрь 07, 2012, 13:17 Код, Код, Код.
Название: Re: объясните работу процесса Отправлено: mutineer от Декабрь 07, 2012, 13:38 Нифига непонятно, куча сумбура
Название: Re: объясните работу процесса Отправлено: alex от Декабрь 07, 2012, 14:02 вот код. Первый - вызов процесса из кутэ, второй - процесс, напсианный в visual studio, собранный без ошибок
Код: #include <QtCore/QCoreApplication> qtprocessTest.exe : Код: #include <iostream> Название: Re: объясните работу процесса Отправлено: Bepec от Декабрь 07, 2012, 14:46 Код: char *data; Позволь мне узнать, о величий и могучий, а куда ты помещаешь данные? По неинициализированному указателю? Название: Re: объясните работу процесса Отправлено: alex от Декабрь 07, 2012, 15:38 изменил код . Теперь он выглядит так:
Код: #include <QtCore/QCoreApplication> Название: Re: объясните работу процесса Отправлено: _OLEGator_ от Декабрь 07, 2012, 15:50 И ты хочешь сказать, что это компилится и работает?!
Код
Название: Re: объясните работу процесса Отправлено: Igors от Декабрь 07, 2012, 16:02 Палок добавьте
Код И убедитесь что стартует, как - разберетесь по букварю. А потом уже будете вывод читать - не все сразу Название: Re: объясните работу процесса Отправлено: alex от Декабрь 07, 2012, 16:08 Палок добавьте Код И убедитесь что стартует, как - разберетесь по букварю. А потом уже будете вывод читать - не все сразу ;D у меня код на другом компе, потому что я на работе. там оператор нью стоит все норм. Вообщем ошибки нашли крмое одной. я чуть изменил код, вот так: Код:
код вызываемой функции изменил так: Код: ... Название: Re: объясните работу процесса Отправлено: Igors от Декабрь 07, 2012, 16:17 код вызываемой функции изменил так: Наведите порядок в своем тексте и мыслях - а потом спрашивайте на форумеКод: ... Название: Re: объясните работу процесса Отправлено: alex от Декабрь 08, 2012, 16:01 Полностью изменил код. теперь он выглядит так:
Код: #include <QtCore/QCoreApplication> класс тестера testing.h Код: #ifndef TESTING_H testing.cpp Код: #include "testing.h" и сам вызываемый поток certainprocess Код: #include <iostream> Но новый не только код но и появившиеся ошибки. А именно - если убрать второй аргумент в функции process.write то происходит зацикливание, полный бред. После компилирования кода функция process.write записывает аргумент в поток вывода но почему-то выводится лишь ее первое значение , а именно "meow". остальные два вызова как будто игнорируются. вот консольный вывод программы PS сделайте на форуме нормальный загрузчик изображений Название: Re: объясните работу процесса Отправлено: Igors от Декабрь 08, 2012, 16:48 Но новый не только код но и появившиеся ошибки. А именно - если убрать второй аргумент в функции process.write то происходит зацикливание, полный бред. После компилирования кода функция process.write записывает аргумент в поток вывода но почему-то выводится лишь ее первое значение , а именно "meow". остальные два вызова как будто игнорируются. Ну в этом ничего удивительного нет, Вы один раз cin читали, одну строку и получили. Насчет не работающего write - так быть не должно. Однако у меня нет никакого энтузиазма выдирать отсюда Ваши тексты - выложите в архиве исходники + pro файл, тогда посмотрим.PS сделайте на форуме нормальный загрузчик изображений Как-то это звучит.. ну неуместно, что ли. Люди могут подумать "Во блин, поток с процессом путает, пишет как курица лапой - зато дает указания что сделать" :) Название: Re: объясните работу процесса Отправлено: alex от Декабрь 08, 2012, 17:09 прошу прощения, но я не путаю поток с процессом) вот архив
PS я продублировал вызов Код: cin>>str; Название: Re: объясните работу процесса Отправлено: alex от Декабрь 09, 2012, 10:37 Тоесть проблема в том, что мне необходимо считывать данные в тестируемую программу несколько раз. Например вот так
Код: #include <iostream> Но выводится лишь первая считываемая строка. в чем ошибка Название: Re: объясните работу процесса Отправлено: Igors от Декабрь 09, 2012, 11:57 Попробуйте
Код
Название: Re: объясните работу процесса Отправлено: alex от Декабрь 09, 2012, 13:29 Попробуйте Код
спасибо, все получилось. Видимо как и при обычном вводе буфер ввода сбрасывается после нажатия entera |