Entwickler-Ecke

Dateizugriff - Dateizugriffe beim Löschen einer Datei


kurt59 - So 06.02.11 08:39
Titel: Dateizugriffe beim Löschen einer Datei
Beim Löschen von Dateien erfolgen lt. Filemon sehr viele Zugriffe.
Es ist dabei egal, welche der folgenden Methode aufgerufen wird.
a) DeleteFile(Dateiname)
b) assignfile(f_sd,Dateiname);
erase(f_sd);
c) Windows.DeleteFile(PChar(Dateiname));

Gibt es eine andere Möglichkeit?

Kurt


jaenicke - So 06.02.11 08:59

Der Fehler liegt hier in deinem Quelltext vermute ich...
Du hast vergessen den Pfad mit anzugeben, oder? // EDIT: Hmm, dein Log sieht doch nicht ganz danach aus.

Dann muss Windows natürlich raten wo die Datei denn liegen könnte. Im Pfad deines Programms wird übrigens dabei nicht gesucht, nur im aktuellen Arbeitsverzeichnis. (Was meistens rein zufällig das Verzeichnis deines Programms ist, aber nicht sein muss.)

Wenn das Verzeichnis so einzeln zugegriffen wird, wird sich das aber nicht verhindern lassen.

// EDIT:
Also bei mir gibt es diese Zugriffe nicht oder der Process Monitor ist nicht so ausführlich. :gruebel:

// EDIT2:
Ich sehe bei den Operationen keine Löschoperation. :gruebel:
Bist du sicher, dass das die Stelle vom Löschen ist?


kurt59 - So 06.02.11 12:02

Es wird der komplette Pfad mit übergeben (siehe Breakpoint).
In der vorletzten Zeile wird die Datei gelöscht.

Kurt