Frage zu QFile
Verfasst: 29. Dezember 2009 10:36
Hallo zusammen,
ich habe folgende zwei Funktionen:
Ich starte die Anwendung, es wird ein OutputFile mit openOutputFile erzeugt und geöffnet, was hineingeschrieben, auf dem Desktop gespeichert (mein ausgewählter Speicherort, z.B. test.txt) und mit closeOutputFile wieder geschlossen.
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
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