ich hätte da mal ein Problem. Für mein aktuelles Projekt benötige ich ein Kompressionsverfahren, also dachte ich mir, ich nutze GZip mit der ZLib. Als Komponente habe ich dafür die Klasse TIdCompressorZLib genommen, da es damit recht simpel ist. Die Kompression läuft folgendermaßen ab:
Code: Alles auswählen
FS1 := TFileStream.Create(FileName, fmOpenRead);
try
FS2 := TFileStream.Create(DestFileName, fmOpenWrite or fmCreate);
try
comp := TIdCompressorZLib.Create;
try
comp.CompressStream(FS1, FS2, 1, 31, 8, 0); //Diese Parameter habe ich irgendwo im Netz gefunden, das level ist der Algroithmus (zwischen 0 und 3), die anderen weiß ich nicht was die bedeuten
finally
comp.Free;
end;
finally
FS1.Free;
end;
finally
FS2.Free;
end;
Code: Alles auswählen
With TIdCompressorZLib.Create do
begin
try
DecompressStream(MemStream, FStream, 31);
finally
Free;
end;
Langsam bin ich echt am verzweifeln, ich weiß nicht woran das liegt, oder wie ich das beheben könnte.
Die Dateien bei denen dieser Fehler auftritt sind augenscheinlich auch nicht besonders.
Die Dokumentation über die Klasse hat mir auch nicht wirklich weitergeholfen.
LG Fred