ich habe folgende zwei Funktionen:
Code: Alles auswählen
bool Parser::openOutputFile(const QString &OutputFilePath)
{
bool Status = true;
OutputFile = new QFile(OutputFilePath);
Status = OutputFile->open(QIODevice::WriteOnly);
if (false == Status)
{
QMessageBox::warning(this,
SSPGeneratorVersion,
tr("Kann Datei nicht speichern %1:\n%2.")
.arg(OutputFilePath)
.arg(OutputFile->errorString()));
}
return Status;
}
void Parser::closeOutputFile(const QString &OutputFilePath)
{
bool Status = true;
if (true == OutputFile->remove())
{
OutputFile->close();
if (true == OutputFile->exists(OutputFile->fileName()))
{
Status = false;
}
}
else
{
Status = false;
}
if (false == Status)
{
QMessageBox::warning(this,
SSPGeneratorVersion,
tr("Kann Datei nicht schließen %1:\n%2.")
.arg(OutputFilePath)
.arg(OutputFile->errorString()));
}
}
Nun lösche ich die auf dem Desktop gespeicherte Datei test.txt und möchte wieder etwas abspeichern. Aber es erscheint keine neue abgespeicherte Datei auf dem Desktop. Die Anwendung läuft ohne Fehler.
Wenn ich jedoch closeOutputFile auskommentiere, kann ich beliebig abspeichern (test.txt wird erzeugt und geschrieben).
Also ist der Wurm in closeOutputFile, aber warum?
Danke für Tipps und Hinweise