Добрый день.
Что то совсем сильно запутался.
Если в Одном объекте в процедуре
//=============================================================================
///Слот обработки сигнала нажатия кнопки удаления считывателя
///\n\n======================================================================\n
void DBTSDMgr::slot_del()
{
...
if (QMessageBox::question(this,"Подтверждение удаления","Вы уверены, что хотите удалить указанную запись?",QMessageBox::Yes|QMessageBox::No,QMessageBox::No)==QMessageBox::No)
{
return;
}
...
if(!DBMgr().deleteTSD(id))
{
QMessageBox::information(this,"Ошибка","Не удалось удалить запись.");
}
...
viewData();
...
}
Запускается диалог
if (QMessageBox::question(this,"Подтверждение удаления","Вы уверены, что хотите удалить указанную запись?",QMessageBox::Yes|QMessageBox::No,QMessageBox::No)==QMessageBox::No)
{
return;
}
То программа работает нормально.
Если добавить перед этим вопросом строчку -
QMessageBox::information(this,"Блабла","блабла");
То программа вылетает напрочь ничего не спрашивая.
Если в другом объекте закоментировать процедуры
//=============================================================================
///Функция для запуска опроса считывателя
///\n\n======================================================================\n
void TSDDeviceTCP::start()
{
if (!tcpServer)
tcpServer = new QTcpServer(this);
// else
// QMessageBox::critical(0, "Server send","Ctart" );
// QMessageBox::critical(0, dev_name, QString::number(dev_port));
if (!tcpServer->listen(QHostAddress(dev_name), dev_port) && server_status==0)
{
_dbg <<"Сервер остановлен"<<std::endl;
_jornal << "Сервер остановлен " <<std::endl;
_status_line.set("Невозможно открыть порт");
}
else
{
server_status=1;
_dbg <<"Сервер запущен"<<std::endl;
_jornal << "Сервер запущен " <<std::endl;
_status_line.clear("Порт открыт");
connect(tcpServer, SIGNAL(newConnection()), this, SLOT(newuser()));
}
/**/
}
//=============================================================================
///Функция для остановки опроса считывателя
///\n\n======================================================================\n
void TSDDeviceTCP::stop()
{
if(server_status==1)
{
foreach(int i,SClients.keys())
{
QTextStream os(SClients[i]);
SClients[i]->close();
SClients.remove(i);
}
// disconnect(tcpServer, SIGNAL(newConnection()), this, SLOT(newuser()));
tcpServer->close();
tcpServer->killTimer(1);
tcpServer = NULL;
_dbg <<"Server is stoped"<<std::endl;
_jornal << "Server is stoped: " <<std::endl;
_status_line.set("Порт закрыт");
server_status=0;
}/**/
}
То все работает, не подскажете что с этим можно поделать?