Hmm, der Ansatz klingt gut und ich habe die Procedure umgeschrieben. Entweder arbeitet ExtractToStream nicht richtig, oder ich mache was falsch. Die Ergebnisse des Streams und damit auch der Stringliste sind nach dem Einlesen leer. Anbei noch einmal der aktuelle Code mit der Testdatei als Anhang.
Delphi-Quellcode:
procedure TMainForm.bnStartClick(Sender: TObject);
var testliste : TStringlist;
memorystream : TStream;
begin
MemoryStream:=TMemoryStream.Create;
with Archiver do
begin
FileName := 'testdatei.zip';
OpenArchive;
ExtractToStream('testdatei.txt', MemoryStream);
CloseArchive;
end;
testliste:=TStringList.Create; {initialize Stringlist}
testliste.LoadFromStream(MemoryStream);
MemoryStream.Free;
ProcessStringList(testliste); {internal function to proces the contents of the stringlist}
testliste.Free; {deinitialize stringlist}
end;
Vielleicht kann jemand den entscheidenden Tipp geben...