[Development] No Finished signal from QProcess!
lata agrawal
lata07agrawal at gmail.com
Mon Feb 27 10:09:12 CET 2012
Hi,
I am running console application C1 in QProcess. I am starting this console
application C1 from another console application C2. Problem is:
I am only getting finished signal from C1 when I use waitforfinshed() else
I am not getting finished signal from C1. Here is the code:
QString strProgram;
strProgram = <Path to C1>;
updateProc->setProcessChannelMode(QProcess::ForwardedChannels);
connect(updateProc,
SIGNAL(finished(int,QProcess::ExitStatus)),
SLOT(procStarted(int,QProcess::ExitStatus)), Qt::DirectConnection);
updateProc->setStandardOutputProcess(this->thread()->parent());
updateProc->start(strProgram, arguments);
Download is over, indicate through bool variable that next
downlaod can be started
if(updateProc->waitForFinished(-1))
{
qDebug("Update process finished!\n");
}
else
{
qDebug("Update process not yet finished!\n");
}
void FloDownloadManager::procStarted(int retVal ,QProcess::ExitStatus
exitStat)
{
qDebug("Update process finished automatically!\n");
if(currentExecutingPriority == AdsUpdate)
{
emit adUpdateDone();
}
blnStartNextUpdate = true;
updateProc->deleteLater();
}
*If I comment the waitforfinished() code, I don't get the finished signal.
But if I include the waitforfinished() signal, I don't get the finished
signal*. Code for C1 is as follows:
#include <QtCore/QCoreApplication>
#include "updater.h"
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
qDebug("Inside Updater\n");
QTimer::singleShot(5000, &a, SLOT(quit()));
qDebug("returning from Updater process!@@@@@@@@\n");
return 0;
}
I fail to understand what is going on wrong here. Someone please help.
Regards,
Lata
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20120227/2a4532d4/attachment.html>
More information about the Development
mailing list