Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: qt + ncreport
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Система рисования. Печать
tasmdevil
Здравствуйте подскажите что я не так делаю. QT 4.7.3, Windows7, NCreport 2.6.2.
Есть такой код :
pro файл
QT       += core gui

TARGET = untitled
TEMPLATE = app


SOURCES += main.cpp\
        mainwindow.cpp

HEADERS  += mainwindow.h

FORMS    += mainwindow.ui

INCLUDEPATH += C:\Qt\ncreport\include

win32 {
   LIBS += C:\Qt\ncreport\lib\libncreport2.a
}
unix {
LIBS += -lncreport -L../lib -L/usr/local/bin
         target.path = /usr/local/bin
}


и cpp
#include "ncreport.h"
#include "ncreportoutput.h"
#include "ncreportpreviewoutput.h"
#include "ncreportpreviewwindow.h"
/............/
процедура
    NCReport *report;
    report->reset(true);
    report->setReportSource(NCReportSource::File);
    report->setReportFile(QApplication::applicationDirPath()+QDir::separator()+"reporttest.xml");
    report->runReportToPreview();


Компилятор ошибок не выдает.... Когда вызываешь процедуру windows говорит - прекращена работа программы и приложение закрывается с кодом -1073741819.
RazrFalcon
Запустите дебаг и смотрите на какой строчке вылетело.
demogorgorn
NCReport *report = new NCReport... ?
tasmdevil
Цитата(RazrFalcon @ 5.8.2011, 14:25) *
Запустите дебаг и смотрите на какой строчке вылетело.


Вылетает на строке: report->runReportToPreview();

При запуске в режиме отладки выскакивает сообщение : Приложение остановлено, так как оно получило сигнал от операционной системы.

Сигнал : SIGSEGV

Назначение : Sigmentation fault

RazrFalcon
ответ выше.
NCReport *report = new NCReport(this);
tasmdevil
Цитата(RazrFalcon @ 5.8.2011, 16:03) *
ответ выше.
NCReport *report = new NCReport(this);


что так NCReport *report = new NCReport(this) , что так NCReport *report результат одинаковый....
Eyellow
Подсказали всё правильно. Вообще, это такая базовая вещь... tasmdevil, ты вначале просто объявлял указатель на объект, но не создавал его. Но вылетало у тебя не из-за этого. Проверь доступность библиотек ncreport'а для exe-шника, который запускаешь.
А вообще, когда QtCreator говорит, что приложение вылетело с какой-то дикой ошибкой, попробуй запустить скомпилированный файл не из Creator'а, а непосредстенно из оболочки. В этом случае винда выдаст окошко, что приложений рухнуло из-за того, что не смогло найти библиотеки.
ernie
Была такая же ошибка,но на версии 2.5.2 http://www.forum.crossplatform.ru/index.ph...p;hl=ncreport.В суппорт даже писал ncreporta,ничего путного не сказали,типа скорее всего из-за w7 проблема
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.