Joar, Datei vorhanden,
Verzeichnis richtig,
Pfad eventuell zu lang
ungültige Zeichen,
fehlende Rechte (Verzeichnis lesen dürfen),
und ein ungültiges Datum (ist zwar selten, aber kann auch mal passieren, z.B. nach Hardware-/Softwaredefekt, Virenbefall oder Stromausfall)
Zitat:
function FileAge(const fn: TFilename): TDateTime; overload
Hier hast du ein Problemchen, den Signaturen müssen/sollten eindeutig sein.
Hast du irgendwo mal die DateUtils nach deiner
Unit in den Uses, in der dein FileAge deklatiert ist, dann wird das falsche FileAge verwendet.
Und da Integer sich an TDateTime zuweisen lässt (andersrum würde es knallten Float-zu-Integer) gäbe der Compiler keine Warung, wenn er statt deiner Funktion das uralte Original nimmt.
Unterschiedliche Parameter (alles was ohne DEFAULT ist)
oder ein anderer Name, damit es eindeutig zugeordnet werden kann.