Christianb hat es auf der ersten Seite gesagt:
Zitat von
Christian Seehase:
DeleteFile ist eine Funktion, die Dir true oder false zurückliefert, je nachdem, ob das Löschen nun erfolgreich war oder nicht.
Frag' doch mal mit
ShowMessage(SysErrorMessage(GetLastError));
was schiefgegangen ist, wenn das Löschen fehlschlägt.
Warum wird dieser wertvolle Tipp auch in allen weiteren Code-Beispielen, die in diesem Thread gefolgt sind, absolut irgnoriert als wenn es Quatsch wäre den Rückgabewert zu prüfen?
Und ihr seit dann diejenigen, die über Windows schimpfen, weil das Programm, was gar nicht von Microsoft ist, keine gescheite Fehlerbehandlung besitzt. Aber selber mal im eigenen Programm eine Fehlerbehandlung zu integrieren, die den Benutzer eventuell drauf hinweißt, dass die Datei, die er löschen will, gar nicht existiert oder dass er nicht die nötigen Rechte hat sie zu löschen, wiel sie ihm zum Beispiel nicht gehört, das wird dann auch nicht gemacht.
Die meisten Fehler im Code lassen sich sehr einfach beheben, wenn man sich einfach mal die Fehlermeldung von Windows ausgeben läßt. Und auch wenn man damit nicht direkt den Fehler findet, hat man meistens einen Anhaltspunkt was da schiefläuft. Und man hat gleichzeitig eine Meldung für den Benutzer, wenn eben ein Fehler aufgetreten ist.