Поиск:

Ответ в темуСоздание новой темы Создание опроса
> QDeclarativeView: app crash, Приложение крашится при закрытии. 
:(
    Опции темы
Acer
Дата 26.7.2012, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 652
Регистрация: 5.9.2007
Где: UA::DN

Репутация: 15
Всего: 8



Привет. Есть такой класс:

Код

class MainWindow
    : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow();
    virtual ~MainWindow();

public:
    bool Initialize();

protected:
    virtual void resizeEvent(QResizeEvent* pEvent) override;

private:
    QDeclarativeView* iView;
    QDeclarativeItem* iItem;
};



Если вызвать оператор new для iView, то при закрытии главного окна приложение крашится.
Конструктор выглядит так:

Код

MainWindow::MainWindow()
    : QMainWindow(),
      iView( nullptr ),
      iItem( nullptr )
{
    iView = new QDeclarativeView( this );
}


Крашится в деструкторе QCoreApplicationPrivate.

Вот колстек

Код

    QtCored4.dll!QCoreApplicationPrivate::~QCoreApplicationPrivate()  Line 439 + 0x9 bytes    C++
    QtGuid4.dll!QApplicationPrivate::~QApplicationPrivate()  Line 223 + 0xcd bytes    C++
    QtGuid4.dll!QApplicationPrivate::`vector deleting destructor'()  + 0x50 bytes    C++
    QtCored4.dll!QScopedPointerDeleter<QObjectData>::cleanup(QObjectData * pointer=0x00425eb8)  Line 62 + 0x20 bytes    C++
    QtCored4.dll!QScopedPointer<QObjectData,QScopedPointerDeleter<QObjectData> >::~QScopedPointer<QObjectData,QScopedPointerDeleter<QObjectData> >()  Line 100 + 0x9 bytes    C++
    QtCored4.dll!QObject::~QObject()  Line 940 + 0x12 bytes    C++
    QtCored4.dll!QCoreApplication::~QCoreApplication()  Line 831 + 0xf bytes    C++
    QtGuid4.dll!QApplication::~QApplication()  Line 1219 + 0x13 bytes    C++
    app.exe!QApplication::`scalar deleting destructor'()  + 0x10 bytes    C++
    app.exe!Application::Destroy()  Line 76 + 0x24 bytes    C++
    app.exe!Application::Quit()  Line 40    C++


Не могу понять, почему оно крашится.
MainWindow находится в отдельной библиотеке. Отдельно от исполняемого файла.

Это сообщение отредактировал(а) Acer - 26.7.2012, 19:10
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0494 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.