Einzelnen Beitrag anzeigen

JayBee

Registriert seit: 20. Jul 2006
21 Beiträge
 
Delphi 5 Standard
 
#4

Re: Problem mit FileTime-Vergleich

  Alt 18. Jul 2008, 12:28
Ok, auf die Idee mit dem Debugger hätte ich auch selber kommen können ^^

Dort werden mit nämlich tatsächlich verschiedene Werte angezeigt (bsp. 951815369 für Data.FTime und 954116721 für FileAge(FileName)). Den Wert 0 habe ich in meiner unachtsamkeit nach SetFileDate ausgeben lassen --> da war das Datum geändert und die Differenz logischerweise 0 --> mein Fehler

Was mir aber nun schleierhaft ist: Wenn ich die Funktion zum Vergleichen und Ändern 2 mal aufrufe - direkt nacheinander - sagt er, das Datum sei noch immer Unterschiedlich. Das heißt für mich, dass der Wert (warum auch immer) nicht wirklich auf die Festplatte geschrieben wird.
Wenn ich mir das im Windows Explorer angucke, sehe ich aber das "richtige", also das gespeicherte Datum - auch nach beendigung des Programms.....

Die Funktion SetFileDate sieht so aus:
Delphi-Quellcode:
function SetFileDate(const FileName: string; FileDate: Integer): Boolean;
var FileHandle: Integer;
begin
 Result := False;
 FileHandle := FileOpen(FileName, fmOpenWrite or fmShareDenyNone);
 if FileHandle > 0 then begin
  Result := (FileSetDate(FileHandle, FileDate) = 0);
  FileClose(FileHandle);
 end;
end;
Das is doch wieder so ein total trivialer Fehler den nur ich nich sehe
Grüße
JayBee

/edit: Die Dateien sind auch nicht schreibgeschützt - Als einziges ist das Archiv-Bit gesetzt.
  Mit Zitat antworten Zitat