Доброго времени суток !!!
int TestSuite::openFile(QString aFileName){
//Get file info from file name such as Path and Full Name and set fields of class
QFileInfo vFileInfo(aFileName);
this->gFilePath = vFileInfo.canonicalPath() ;
this->gFileName = vFileInfo.fileName();
QFile * vFile = new QFile(aFileName);
qDebug() << "Opened : " + this->gFileName;
qDebug() << "Path : " + this->gFilePath;
if (vFile->exists()){
if (!vFile->open(QIODevice::ReadOnly)){
qDebug() << QString("File opened: ") + vFile->fileName();
return 2; //file exists but we can't open
}
} else{
qDebug() << QString("File not exists:") + vFile->fileName();
return 1; //file not exists
}
//now we set content to XML object
if (!gTestSuite->setContent(vFile)){
vFile->close();
qDebug() << "Can't set context!";
return 3; // Can't set context to xml object file
} else{
vFile->close();
qDebug() << "Context is set!";
}
return 0;
}
А вот код консольного приложения которое юзает этот класс:
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
TestSuite * ts = new TestSuite;
qDebug() << ts->openFile(QString("E:/Exam/Exam/ExamTest/1.xml"));
return a.exec();
}
Вылетает с такой вот красотой :
Имя события проблемы: APPCRASH
Имя приложения: ExamTest.exe
Версия приложения: 0.0.0.0
Отметка времени приложения: 4ae35aa2
Имя модуля с ошибкой: QtXmld4.dll
Версия модуля с ошибкой: 4.5.2.0
Отметка времени модуля с ошибкой: 4a3f7c18
Код исключения: c0000005
Смещение исключения: 00017be7
Версия ОС: 6.1.7600.2.0.0.256.1
Код языка: 1049
Дополнительные сведения 1: 0a9e
Дополнительные сведения 2: 0a9e372d3b4ad19135b953a78882e789
Дополнительные сведения 3: 0a9e
Дополнительные сведения 4: 0a9e372d3b4ad19135b953a78882e789
Внимание вопрос: ПОЧЕМУ
Нефига не понимаю почему такое произошло ... и как с этим бороться ... подскажите пожалуйста ... просто пробовал сделать тестовый прогон классов