Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > LZMA


Автор: Proxin 6.7.2010, 11:34
Скачал порт официального sdk 7zip (lzma) на delphi с ихнего сайта. Но как им пользоваться? Подключаю в uses ulzmadecoder, а затем пытаюсь распаковать поток вот таким кодом:
Код

var lz:tlzmadecoder;outsiz:int64;ms:tmemorystream;buf:array[0..5] of integer;f:tfilestream; 
begin
f:=tfilestream.create(samplefile,fmopenread);
ms:=tmemorystream.create;
f.seek(0,0);
f.read(buf[0],6);
lz:=tlzmadecoder.create;
lz.setdecoderproperties(buf);
outsize:=myconst;//тут есть значение размера всего распакованного потока
lz.code(f,ms,outsize);
end;

после выполнения кода размер ms оказывается равным четырём, никакие распакованные данные не пишутся. почему?
upd: проблема решена - надо было сделать loadlibrary('7z.dll'), её взять можно в последнем официальном билде 7zip с ихнего сайта.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)