I am using the following code to extract files from SevenZIP archive. It works well with single-volume archives, but fails with multi-volume.
procedure TMyClass.ExtractArchive(AInputFile:String;AOutputDir:String);
var
LArchive:TJcl7zDecompressArchive;
begin
LArchive:=TJcl7zDecompressArchive.Create(AInputFile);
try
LArchive.OnProgress:=ExtractProgress;
LArchive.ListFiles();
try
LArchive.ExtractAll(AOutputDir);
except
on e:Exception do
LogError(e);
end;
finally
LArchive.Free();
end;
end;
It seems that volumes of SevenZip are just files split in half (in the opposite of RAR and ZIP archives). Do I have to manually prepare combined stream (of all volumes as one) all by myself? Or JCL will handle it automatically somehow?