crossplatform.ru

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

> Не понятно, из-за чего ошибка, Segmentation fault
QMainWindow
  опции профиля:
сообщение 1.8.2011, 12:02
Сообщение #1


Участник
**

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

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




Репутация:   0  


Добрый день!
При выполнении программы (в режиме отладки) вылезает непонятная ошибка: Segmentation fault. Отладчик указывает на эту инструкцию: ui->FirstNameEdit->setText(data.value(i));
ui - мой диалог, построенный по шаблону Qt. Вот описание:
Раскрывающийся текст
#ifndef FILEINFODIALOG_H
#define FILEINFODIALOG_H

#include <QDialog>

namespace Ui
{
    class FileInfoDialog;
}

class FileInfoDialog : public QDialog
{
    Q_OBJECT
public:
    explicit FileInfoDialog(QWidget *parent = 0);
    ~FileInfoDialog();
    void getFileInfo(QVector<QString> &tags, QVector<QString> data);
private:
    Ui::FileInfoDialog *ui;

signals:

public slots:

};

#endif // FILEINFODIALOG_H
ui::FirstNameEdit - экземпляр QLineEdit.Определил его в дизайнере соответственно. Вызывается здесь:
Раскрывающийся текст
void FileInfoDialog::getFileInfo(QVector<QString> &tags, QVector<QString> data)
{
    int i = 0;
    for(int i=0; i<data.count(); i++)
    {
    qDebug()<<tags.value(i)<<data.value(i);
    }
    if(tags.value(i) == "first-name")
    {
    ui->FirstNameEdit->setText(data.value(i));
    i++;
    }
...
}
Поэкспериментировав, обнаружил, что такая же ошибка появляется, если использовать любой метод из FirstNameEdit (т.е. любой метод QLineEdit). Не пойму в чем дело...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
QMainWindow
  опции профиля:
сообщение 1.8.2011, 16:15
Сообщение #2


Участник
**

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

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




Репутация:   0  


Проект: http://ifolder.ru/24978614

Надо вот это: http://ifolder.ru/24978892. Та, что сверху - не доработано.
Тут же в папке есть fb2 файл для теста. Делать так: Файл - Открыть...; Затем Свойства документа.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
wiz29
  опции профиля:
сообщение 1.8.2011, 16:36
Сообщение #3


Старейший участник
****

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

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




Репутация:   12  


Цитата(QMainWindow @ 1.8.2011, 17:15) *
Проект: http://ifolder.ru/24978614

Надо вот это: http://ifolder.ru/24978892. Та, что сверху - не доработано.
Тут же в папке есть fb2 файл для теста. Делать так: Файл - Открыть...; Затем Свойства документа.

у тебя fileInfoDialog в Parser нигде не инициализируется, соответсвенно , попытка разыменовать "мусор" приводит к краху!
Совет: всегда инициализируй все поля объекта в конструкторе!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


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




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