Einzelnen Beitrag anzeigen

Schucki

Registriert seit: 17. Jul 2004
158 Beiträge
 
Delphi 2010 Architect
 
#1

KAzip und TMemoryStreams?

  Alt 18. Dez 2013, 14:39
Hallo,

ich möchte gerne Daten aus einem MemoryStream in einen MemoryStream zippen.
Bei Dateien verwendete ich bisher die KAZip Komponente, welche dort ihren Dienst gut macht.

Wie stellt man das nun an, wenn man direkt im Speicher packen möchte? Das hier klappt nicht es wir immer eine Exception an der Stelle "AddStream" ausgelöst.



Delphi-Quellcode:
procedure TfrmMain.MyButton2Click(Sender: TObject);
var msFile, msW:TMemoryStream;
    strFileName:string;

begin
  strFileName:='test_data.txt';

  msFile:=TMemoryStream.Create;
  msW:=TMemoryStream.Create;

  msFile.Clear;
  msW.Clear;
try
  msFile.LoadFromFile(strFileName);

  with mainZip do begin
    StoreRelativePath:=False;
    StoreFolders:=False;
    CreateZip(msW);
    Active:=True;
    msFile.Position:=0;
    AddStream('stream_add.txt', msFile);
    SaveToStream(msW);
    Active:=False;
    Close;
  end;
  msW.SaveToFile('zip_out.zip');
finally
  msFile.Free;
  msW.Free;
end;
Danke Frank
Frank
  Mit Zitat antworten Zitat