crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Код ошибки -1073741819, Что это?
QMainWindow
  опции профиля:
сообщение 1.2.2011, 15:46
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 198
Регистрация: 1.8.2010
Пользователь №: 1922

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




Репутация:   0  


Код ошибки -1073741819. Что это такое?

И вообще на будущее. Где можно прочитать что означают все коды ошибок?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 1.2.2011, 18:34
Сообщение #2


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

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

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




Репутация:   94  


Цитата(QMainWindow @ 1.2.2011, 17:46) *
Код ошибки -1073741819. Что это такое?
это о чём вообще? Виндовоз завис, Qt в консоль пишет?

Цитата(QMainWindow @ 1.2.2011, 17:46) *
Где можно прочитать что означают все коды ошибок?
найдёшь такое место, мне тоже скажи.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
QMainWindow
  опции профиля:
сообщение 1.2.2011, 21:14
Сообщение #3


Участник
**

Группа: Участник
Сообщений: 198
Регистрация: 1.8.2010
Пользователь №: 1922

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




Репутация:   0  


Ааа, т.е. такое место не известно... Жаль.
Приложение мое выполняется, затем зависает, и в консоли он выписывает. Отладчик (как я понял) сообщает, что проблема как-то связана с сигналом (а как именно?) в слот. Может попадалась такая ошибка уже?)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 1.2.2011, 21:55
Сообщение #4


фрилансер
******

Группа: Участник
Сообщений: 2941
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

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




Репутация:   34  


полагаю, це не код ошибки, а 0xC0000005

почему именно такая цифра (под студийным отладчиком тоже, кстати) я никогда не задавался вопросом, но это обычно порча памяти, которую увидел отладочный режим программы. Ищется просто - запусти на отладку без точек останова, а когда появится ошибка - смотри стек вызовов

Ещё встречал в креаторе значение 0xBAD0FEED (точно не помню, но как-то похоже :D ) - неинициализированная память под отладчиком и ещё какое то слово было. При случае задокументирую ))

Сообщение отредактировал Алексей1153 - 1.2.2011, 21:58
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
QMainWindow
  опции профиля:
сообщение 2.2.2011, 11:09
Сообщение #5


Участник
**

Группа: Участник
Сообщений: 198
Регистрация: 1.8.2010
Пользователь №: 1922

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




Репутация:   0  


Путем 10ти минутного думания и отладочной печати решил проблемы наконец-таки. Ура!
Короче ошибка это возникает, когда обращаешься к методам/функциям виджета, которого уже не существует.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_Гость_*
сообщение 21.2.2012, 8:37
Сообщение #6





Гости








    


А у меня ошибка возникает по какой-то непонятной причине... ВОзникает она если я в класс добавляю еще один член класса...

class mForm : public QWidget
{
Q_OBJECT
public:
mForm();
~mForm();
private:
QHBoxLayout *hLay;
QVBoxLayout *vLay1;
QVBoxLayout *vLay2;
QLabel *lblOUT;
QLabel *lblIN;
QLineEdit *lineOUT;
QLineEdit *lineIN;
//QLineEdit *lineAddrOUT; добавляю этот указатель и всё... тоже выдает ошибку!
QPushButton *pbtOUT;
QPushButton *pbtIN;
};

mForm::mForm()
{
hLay = new QHBoxLayout;
vLay1 = new QVBoxLayout;
vLay2 = new QVBoxLayout;
lblOUT = new QLabel(QString::fromLocal8Bit("Выходные данные"));
lblIN = new QLabel(QString::fromLocal8Bit("Входные данные"));
lineOUT = new QLineEdit;
lineIN = new QLineEdit;

//lineAddrOUT = new QLineEdit;

pbtOUT = new QPushButton(QString::fromLocal8Bit("Отправить"));
pbtIN = new QPushButton(QString::fromLocal8Bit("Считать")); ОТЛАДЧИК ВЫЛЕТАЕТ НА ЭТОМ МЕСТЕ!!!
vLay1->addWidget(lblOUT); vLay1->addWidget(lineOUT);vLay1->addWidget(pbtOUT);
vLay2->addWidget(lblIN); vLay2->addWidget(lineIN);vLay2->addWidget(pbtIN);
hLay->addLayout(vLay1);hLay->addLayout(vLay2);
this->setLayout(hLay);

}

mForm::~mForm()
{
delete lblOUT; lblOUT = 0;
delete lblIN; lblIN = 0;
delete lineOUT; lineOUT = 0;
delete lineIN; lineIN = 0;
delete pbtOUT; pbtOUT = 0;
delete pbtIN; pbtIN = 0;
delete vLay1; vLay1 = 0;
delete vLay2; vLay2 = 0;
delete hLay; hLay = 0;
}

а отладчик выдает ошибку на строке "pbtIN = new QPushButton(QString::fromLocal8Bit("Считать")); "
Убираю член класса, то все окей. что это может быть? заранее спасибо!)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 21.2.2012, 12:20
Сообщение #7


фрилансер
******

Группа: Участник
Сообщений: 2941
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

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




Репутация:   34  


Гость_Гость_*, возможно банальный полный ребилд спасёт. Прицепи проект, так сложно разобраться
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Steklova Olga
  опции профиля:
сообщение 21.2.2012, 12:46
Сообщение #8


Участник
**

Группа: Участник
Сообщений: 198
Регистрация: 27.9.2011
Из: Санкт-Петербург
Пользователь №: 2912

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




Репутация:   4  


Гость_Гость_*, посмотрите на этот код, у меня он никуда не улетает :)
pro
QT       += core gui
TARGET = ..\..\forum_tmp1
TEMPLATE = app
SOURCES += main.cpp\
        widget.cpp
HEADERS  += widget.h
main.cpp
#include <QtGui/QApplication>
#include "widget.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();

    return a.exec();
}
widget.h
#ifndef WIDGET_H
#define WIDGET_H

#include <QtGui/QWidget>
class QHBoxLayout;
class QVBoxLayout;
class QLabel;
class QLineEdit;
class QPushButton;

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = 0);
    ~Widget();
private:
    QHBoxLayout *hLay;
    QVBoxLayout *vLay1;
    QVBoxLayout *vLay2;
    QLabel *lblOUT;
    QLabel *lblIN;
    QLineEdit *lineOUT;
    QLineEdit *lineIN;

    QLineEdit *lineAddrOUT;

    QPushButton *pbtOUT;
    QPushButton *pbtIN;
};

#endif // WIDGET_H
widget.cpp
#include "widget.h"

#include <QtGui/QHBoxLayout>
#include <QtGui/QVBoxLayout>
#include <QtGui/QLabel>
#include <QtGui/QLineEdit>
#include <QtGui/QPushButton>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    hLay = new QHBoxLayout;
    vLay1 = new QVBoxLayout;
    vLay2 = new QVBoxLayout;
    lblOUT = new QLabel(QString::fromLocal8Bit("Выходные данные"));
    lblIN = new QLabel(QString::fromLocal8Bit("Входные данные"));
    lineOUT = new QLineEdit;
    lineIN = new QLineEdit;

    lineAddrOUT = new QLineEdit;

    pbtOUT = new QPushButton(QString::fromLocal8Bit("Отправить"));
    pbtIN = new QPushButton(QString::fromLocal8Bit("Считать"));
    vLay1->addWidget(lblOUT); vLay1->addWidget(lineOUT);vLay1->addWidget(pbtOUT);
    vLay2->addWidget(lblIN); vLay2->addWidget(lineIN);vLay2->addWidget(pbtIN);
    hLay->addLayout(vLay1);hLay->addLayout(vLay2);
    this->setLayout(hLay);
}

Widget::~Widget()
{
    delete lblOUT; lblOUT = 0;
    delete lblIN; lblIN = 0;
    delete lineOUT; lineOUT = 0;
    delete lineIN; lineIN = 0;

    delete lineAddrOUT; lineAddrOUT = 0;

    delete pbtOUT; pbtOUT = 0;
    delete pbtIN; pbtIN = 0;
    delete vLay1; vLay1 = 0;
    delete vLay2; vLay2 = 0;
    delete hLay; hLay = 0;
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 26.2.2025, 13:52