Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Abbrevia LastModTime bei letzter Datei fehlerhaft (https://www.delphipraxis.net/186194-abbrevia-lastmodtime-bei-letzter-datei-fehlerhaft.html)

TUX_der_Pinguin 12. Aug 2015 08:54

Abbrevia LastModTime bei letzter Datei fehlerhaft
 
Hallo DPler,

ich versuche mich gerade an der Abbrevia Komponente und eigentlich klappt schon alles recht gut mir ist nur jetzt etwas sehr merkwürdiges aufgefallen.

Ich habe eine Liste mit Verschiedenen Dateien, an verschiedenen Orten, und diese werden erst in ein TMemoryStream geladen um anschließend den Stream
mit AddFromStream dem Archiv hinzuzufügen. Dies mache ich so damit ich die gewünschte Verzeichnisstruktur innerhalb des Archivs erhalte.

Delphi-Quellcode:
var
  dtTmp: TDateTime;

begin

AbZipKit.OpenArchive('test.zip');

MStream := TMemoryStream.Create;
try
  for Index := 0 to High(FileList) do
  begin
    //Datei in Stream laden
    MStream.LoadFromFile(FileList[Index].FilePath);

    //Stream in Archiv hinzufügen
    AbZipKit.AddFromStream(FileList[Index].RelativePath, MStream);

    //Dateidatum ermitteln
    FileAge(FileList[Index].FilePath, dtTmp);

    //Dateidatum setzen
    AbZipKit.Items[AbZipKit.Count-1].LastModTimeAsDateTime := dtTmp;

    //Hier ist (noch) alles korrekt
    ShowMessage(DateTimeToStr(AbZipKit.Items[AbZipKit.Count-1].LastModTimeAsDateTime));
  end;
finally
  MStream.Free;
try;

AbZipKit.CloseArchive;


AbZipKit.OpenArchive('test.zip');
for Index := 0 to AbZipKit.Items-1 do
begin
  //Alles korrekt bis auf die letzte Datei
  ShowMessage(DateTimeToStr(AbZipKit.Items[Index].LastModTimeAsDateTime));
end;
AbZipKit.CloseArchive;
Die Erstellung des Archivs klappt, die Dateien befinden sich korrekt darin. Aber immer bei der zuletzt hinzugefügten Datei wird das Datum nicht korrekt gesetzt. Es scheint als würde beim abschließenden speichern des Archivs das Datum der letzten Datei verändert. Das Datum wird dann immer auf den Zeitpunkt der Erstellung gesetzt.

Hat jemand dafür eine Erklärung bzw. eine Idee wie ich das umgehen kann?


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:09 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