Добрый день! Не могу понять, где происходит ошибка...Программа запускается в трей и каждые 60 сек пингует какой-либо сервер, но таймер срабатывает один раз, а на второй завершается программа без ошибок. Собственно вот слот для пингования и здесь же запускается таймер:
| Код | 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(); }
|
|