Показать сообщение отдельно
  #8  
Старый 26.04.2013, 07:51
DrGeorg DrGeorg вне форума
Прохожий
 
Регистрация: 26.04.2013
Сообщения: 38
Версия Delphi: RAD Studio XE3
Репутация: 10
По умолчанию

Цитата:
Сообщение от 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 упакован текстовый документ)...
__________________
Все смелые до begin...
Ответить с цитированием