Здравствуйте, посмотрел Ваш пример.. добавил чтение фалов в потоке (без пароля), все работает. Как только пытаюсь прочитать архив с паролем сразу вываливается ошибка..
procedure ExtractToFile2(
const ZipFileName: string;
const ZippedFileIndex: Integer;
const ExtractedFileName: string
);
var
ZipFile: TEncryptedZipFile;
DownloadedStream, DecompressionStream, OutputStream: TStream;
LocalHeader: TZipHeader;
bmp: tBitmap;
begin
bmp:= tBitmap.Create;
DownloadedStream := TFileStream.Create(ZipFileName, fmOpenRead);
try
ZipFile := TEncryptedZipFile.Create(CSPassword);
try
ZipFile.Open(DownloadedStream, zmRead);
ZipFile.Read(ZippedFileIndex, DecompressionStream, LocalHeader);
try
OutputStream := TMemoryStream.Create;
try
OutputStream.CopyFrom(DecompressionStream, DecompressionStream.Size);// тут все падает
bmp.LoadFromStream(OutputStream);
fmMain.Image1.Bitmap.Assign(bmp);
finally
OutputStream.Free;
bmp.Free;
end;
finally
DecompressionStream.Free;
end;
finally
ZipFile.Free;
end;
finally
DownloadedStream.Free;
end;
end;
Подскажите, пжл, что делаю не так (проект во вложении)?
ps: Berlin 10.2