crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Как корректно завершить консольное приложение?
Litkevich Yuriy
  опции профиля:
сообщение 29.10.2008, 12:28
Сообщение #1


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


делаю консольную программу
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> выскакивает ошибка типа: "Память не может быть прочитана, нарушение прав доступа".
Что нужно сделать чтоб этой ошибки небыло, и как корректно завершать работу консольного приложения.

Деструктор класса, как я предпологаю, не вызывается. А внем я удаляю соединение.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 25.4.2024, 19:25