Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Frage zu TFile.Replace (https://www.delphipraxis.net/187013-frage-zu-tfile-replace.html)

Der schöne Günther 20. Okt 2015 17:34

Delphi-Version: XE7

Frage zu TFile.Replace
 
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
Delphi-Quellcode:
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,
Delphi-Quellcode:
TFile.Replace(..)
ausgeführt und keine Exception wurde geworfen. Das Ersetzen schlug natürlich fehl.

Sir Rufo 20. Okt 2015 18:38

AW: Frage zu TFile.Replace
 
Ja, ist falsch (bzw. nicht komplett) .. auch noch in Seattle ...


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:33 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz