Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[54.236.245.71] |
|
Сообщ.
#1
,
|
|
|
Подскажите как можно сделать отмену компрессии если использовать стандартный юнит System.Zip.
Встроенного решения я не нашёл. Но может все же как-то можно, а ? |
Сообщ.
#2
,
|
|
|
если я правильно разобрал исходники, то как-то так:
RegisterCompressionHandler(zcDeflate, function(InStream: TStream; const ZipFile: TZipFile; const Item: TZipHeader): TStream var Stream:TZCompressionStream; begin Stream := TZCompressionStream.Create(InStream, zcDefault, -15); Stream.OnProgress:= // <- вот тут присвой обработчик Result := Stream; end, function(InStream: TStream; const ZipFile: TZipFile; const Item: TZipHeader): TStream begin Result := TZDecompressionStream.Create(InStream, -15); end); а в обработчике проверяй нужное условие и кидай любое исключение... |