main.cpp
#include <QCoreApplication>
#include <iostream>
#include "controller.h"
const char * SW_VERSION = "0.1.0";
void showVersion()
{
fprintf(stderr, "Scaner of DAQ's controller %s\n", SW_VERSION);
}
void showHelp(const char *appName)
{
showVersion();
fprintf(stderr, "Usage: %s [options] <file.ui>\n\n"
" The demon-scaner of\n"
" the controllers of the data acquisition system.\n\n"
" -h, --help display this help and exit\n"
" -v, --version display version\n"
"\n", appName);
}
int main(int argc, char *argv[])
{
QCoreApplication app(argc, argv);
Controller ctrl(1000); // ms
ctrl.setDB("DB", "USER", "PASSWORD");
ctrl.run();
return app.exec();
}
В классе Controller, устанавливается соединение с БД (Controller::setDB("DB", "USER", "PASSWORD")) и запускается таймер (Controller::run()), по ка по таймеру в консоль пишется счетчик, просто для видимости работы.
в pro-файле присутствуют такие строчки:
QT += sql
QT -= gui
Проблема:
При попытке завершить программу, либо закрытием окна консоли, либо <Ctrl>+<C> выскакивает ошибка типа: "Память не может быть прочитана, нарушение прав доступа".
Что нужно сделать чтоб этой ошибки небыло, и как корректно завершать работу консольного приложения.
Деструктор класса, как я предпологаю, не вызывается. А внем я удаляю соединение.