Einzelnen Beitrag anzeigen

Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

Frage zu TFile.Replace

  Alt 20. Okt 2015, 17:34
Delphi-Version: XE7
Die Doku zu TFile.Replace(..) spricht:

Zitat:
Replace löst eine Exception aus, wenn die Quell- oder Zieldatei nicht vorhanden ist, die Pfade ungültig sind oder der Benutzer nicht über ausreichende Rechte zur Durchführung des Ersetzungsvorgangs verfügt.
Ich schaue vorsichtshalber doch einmal in die Implementierung in System.IoUtils und sehe das hier:

Delphi-Quellcode:
begin
  [...]
  SetLastError(ERROR_SUCCESS);
  ReplaceFile(PChar(DestinationFileName), PChar(SourceFileName),
    PChar(DestinationBackupFileName), Flags, nil, nil);
end;
Die Windows-Doku zu ReplaceFile(..) spricht:
Zitat:
If the function fails, the return value is zero.

Übersehe ich etwas, oder verspricht die Doku mal wieder etwas das nicht gehalten wird? Ich habe mir testweise einmal die Berechtigung zum Schreiben einer Datei verweigert, TFile.Replace(..) ausgeführt und keine Exception wurde geworfen. Das Ersetzen schlug natürlich fehl.
  Mit Zitat antworten Zitat