Добрый день! Не могу понять, где происходит ошибка...Программа запускается в трей и каждые 60 сек пингует какой-либо сервер, но таймер срабатывает один раз, а на второй завершается программа без ошибок.
Собственно вот слот для пингования и здесь же запускается таймер:
C++ (Qt)
void CPing::slotUpdatePing()
{
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("cp-866"));
QProcess ping;
QStringList arguments;
if(m_rbIP->isChecked())
arguments << m_lineIP->text();
else
arguments << m_leDN->text();
ping.start("ping.exe", arguments);
ping.waitForFinished();
while(!ping.atEnd())
{
QString line = ping.readLine();
line.remove(QRegExp("[^TTL]"));
if(line.toUpper() == "TTL")
{
m_timer = new QTimer(this);
connect(m_timer, SIGNAL(timeout()), this, SLOT(slotUpdatePing()));
m_timer->start(60000);
QMessageBox::about(this, tr("Таймер"), tr("Соединение установлено"));
return;
}
}
this->slotUpdatePing();
}