Я наверное не правильно объяснил: 600Mb занимает не один файл - их 10!!! И загружать надо не все подряд файлы, а какой нибудь один!
Дэ факто: 50Mb на файл - сёравно ощутимо!..
Вопрос в другом - как подгружать файл в память частями для распаковки этих частей по отдельности, короче как заставить перелопатить большой файл через эту функцию:
Код:
var
ms, ms2: TMemoryStream;
zs: TCompressionStream;
begin
ms := TMemoryStream.Create;
ms2 := TMemoryStream.Create;
// zs := TCompressionStream.Create(ms2, zcMax);
try
ms.LoadFromFile('C:\qqq.lzo');
// zs.CopyFrom(ms, ms.Size);
ms2.Size := 1024*1024*10;
ms2.Size := lzodecompress(Byte(ms.Memory^), Byte(ms2.Memory^));
RichEdit1.LinesLoadFromStream(ms2);
finally
ms2.Free;
ms.Free;
end;