Цитата:
Сообщение от M.A.D.M.A.N.
Именно ЛЗО нужен? Можно ЛЗМА взять (он довольно сильно жмет), он полностью на паскале есть.
И да, в блоке asm не судьба было дизассемблировать?
|
Ну сказано же:
Цитата:
Для сравнения - LZO: 102 мб (300 мс), ZIP: 81 мб (1300 мс), LZMA: 61 мб (2400 мс). А у меня файл оч много весит...
|
Цитата:
Сообщение от Alegun
Кажется начинает доходить
Код:
procedure DecompressData(const InData: Pointer; InSize: LongInt; const OutData: Pointer; var OutSize: LongInt);
OutSize объявлена как var, а ей передается константная, на момент выполнения, переменная Ms.size. Я так понимаю, OutSize показывает размер на выходе потока, т.е. разжатого файла, может нужно просто отдельную переменную туда передать?
|
Не знаю, счас попробую...
Код:
Var Ms:TMemoryStream;
LZO:String;
Begin
Ms:=TMemoryStream.Create;
Ms:=LoadFromFile('C:\Temp\MyFile.lzo');
DecompressData(Ms.Memory, Ms.size, Ms.Memory, LZO);
Счас компилится, но выдает Access violation at addres... при
Код:
Memo1.Lines.LoadFromStream(Ms)
(В файле MyFile.lzo упакован текстовый документ)...