Das mit dem Ordner ist allerdings merkwürdig, schliesslich zeigt er das Datum ja auch im Explorer usw. an.
Entweder ist das ein Bug von Windows, von Delphi oder ein bißchen von beidem: FileAge gibt bei Ordnern generell -1 zurück, da ich den Quelltext dank D3 Pro habe, hab ich das zum Test verändert. und sie da:
nur wenn man z.B. statt dem Ordner 'C:\SIK' das Datum von 'C:\SIK\.' abfragt, gehts.
Da das Datum aber eh egal ist bei Ordnern, würde ich es so lösen:
Delphi-Quellcode:
If DirectoryExists(FileName) then
FileTime := now
else
FileTime := FileDateToDateTime(FileAge(FileName));
EDIT:
Achja und die Ordner-Verarbeitung ist noch total unbrauchbar.
In der Schleife von AddFileToRootIsoItem ist die Rekursion falsch. Hier muss die Sache z.B. so aussehen:
Delphi-Quellcode:
If (sr.Name <> '.') and (sr.Name <> '..') then // Zeile neu eingefügt
AddFileToRootIsoItem(SubDirItem, FileName + '\' + sr.Name); // "FileName + '\' +" hinzugefügt
until FindNext(sr) <> 0; // diese bleibt wie sie ist
EDIT2: Zusammengefasst