[D2010] Modifier les dates d'un fichier avec SetFileTime
Je cherche à donner à un fichier B les mêmes dates qu'un fichier A.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| var
HandleSource, HandleDest: THandle;
DateCreation, DateModification, DateAcces: TFileTime;
begin
// Ouverture du fichier source.
HandleSource := FileOpen(szFichierSource, fmOpenRead or fmShareDenyNone);
try
if HandleSource = 0 then
Exit;
// Récupération des dates du fichier source.
if not GetFileTime(HandleSource, @DateCreation, @DateAcces, @DateModification) then
begin
szErreur := #9 + 'Erreur : la récupération des dates du fichier source [' + szFichierSource + '] a échoué !' + #13#10#9 + SysErrorMessage(GetLastError);
Exit;
end;
finally
FileClose(HandleSource);
end;
// Ouverture du fichier destination.
HandleDest := FileOpen(szFichierDest, fmOpenReadWrite or fmShareExclusive);
try
if HandleDest = 0 then
Exit;
// Modification des dates du fichier destination.
if not SetFileTime(HandleDest, @DateCreation, @DateAcces, @DateModification) then
begin
szErreur := #9 + 'Erreur : la modification des date du fichier destination [' + szFichierDest + '] a échoué !' + #13#10#9 + SysErrorMessage(GetLastError);
Exit;
end;
finally
FileClose(HandleDest);
end; |
Et j'obtiens une erreur sur SetFileTime: :bug:
Citation:
Descripteur non valide
J'ai trouvé d'autres posts sur SetFileTime, mais je ne vois pas ce que j'ai mal fait (je suis sous D2010).
Une idée ?
:hola: