Форум: "KOL";
Текущий архив: 2008.02.24;
Скачать: [xml.tar.bz2];
ВнизKolBZip2 Найти похожие ветки
← →
BMouradov (2007-07-07 18:27) [0]Господа, помогите, пожалуйста, с компонентом KolBZip2. На простом примере получаю Access Violation:
var i: integer;
Buf: array[0..1023] of char;
begin
InStream := NewReadFileStream(InFile);
OutStream := NewWriteFileStream(OutFile);
CStream := NewBZCompressionStream(bs9, OutStream);
repeat
i := InStream.Read(Buf, SizeOf(Buf));
CStream.Write(Buf, i); <-- Access Violation
until i = 0;
При первом же вызове Write получаю ошибку. При трассировке увидел нечто странное - Delphi не проваливался во Write, а в NewBZCompressionStream первой строчкой идёт Result:= PBzCompressionStream(NewCustomBzip2Stream(Dest));, т.е. создается один компонент, а используется как другой. Мне кажется, здесь ошибка. То же самое и при декомпрессии. Помогите исправить.
← →
D[u]fa © (2007-07-07 20:08) [1]мб надо OutStream.Write?
← →
BMouradov (2007-07-08 02:40) [2]Нет, не пойдет - прежде чем выводить, надо сначала сжать.
← →
Дмитрий К © (2007-07-08 11:06) [3]KOLBZip2 обязательно использовать?
http://www.kolnmck.ru/files/components/compress/zlibbzip.7z
← →
D[u]fa © (2007-07-08 13:00) [4]посмотрел компонент. там явно ошибки или несовместимость с текущей версией, пробуй компонент что посоветовали
← →
BMouradov (2007-07-08 13:58) [5]Да, этот компонент работает, спасибо.
Наверное, авторам все равно следует или исправить или удалить тот компонент.
Искал, чем сжать файл с данными, не используя внешних dll.
Если кому интересно:
файл 2400Кб (метод, размер, упаковка, распакова, процессор целерон 2.6):
KolZlib, Zlib, Z - 595Кб 1,4 сек 0,3 сек
Bzip2 - 460Кб 0,3 сек 0,1 сек
Для сравнения, внешними архиваторами:
zip - 590Кб
rar - 400Кб
← →
BMouradov (2007-07-08 14:03) [6]Забыл сказать, что
KolZlib, Zlib, Z - добавляют 33Кб к размеру программы
Bzip2 - 40Кб
← →
=BuckLr= (2007-07-08 15:00) [7]
> KolZlib
CompressBuf не пашет, имейте в виду.
← →
ANTPro © (2007-07-08 15:04) [8]> [6] BMouradov (08.07.07 14:03)
Можно еще UCL попробовать. Быстро работает и мало кода к EXE прибавляет. Жмет как ZIP.
← →
=BuckLr= (2007-07-08 21:06) [9]
> Можно еще UCL попробовать. Быстро работает и мало кода к
> EXE прибавляет. Жмет как ZIP.
Что мало кода, верно. Но когда я тестил, обратил внимание, что жмёт сильно похуже zlib"а. Однако
← →
BMouradov (2007-07-09 00:54) [10]Попробовал - на том же файле выдал 660 Кб. Так что совсем не катит.
← →
BMouradov (2007-07-09 00:58) [11]> KolZlib, Zlib, Z - 595Кб 1,4 сек 0,3 сек
> Bzip2 - 460Кб 0,3 сек 0,1 сек
Я извиняюсь, перепутал, по времени всё наоборот:
файл 2400Кб (метод, размер, упаковка, распакова, добавочный размер):
KolZlib, Zlib, Z - 595Кб 0,3 сек 0,1 сек +33Кб
Bzip2 - 460Кб 1,4 сек 0,3 сек +40Кб
← →
ANTPro © (2007-07-10 14:08) [12]LZMA, есть еще, если нужно хорошее сжатие (Уровень RAR). Но нужна dll(для сжатия) 96кб вроде. Если только распаковка тогда этот вариант всех уделает :)
← →
Vladimir Kladov (2007-07-10 15:48) [13]Вообще-то самый компактный вариант это TCabFile (KOLadd). Практически не добавляет кода (пара Кб? Не проверял, но должно быть меньше). А жмёт очень прилично, иногда лучше zip, а иногда даже лучше rar"а.
← →
Monty © (2007-07-11 00:45) [14]Скорее всего TCabFile использует cabinet.dll
Я тестировал около года два-три назад сжатие zip, rar и cab"ом ... последний был всегда лучше zip"а и не уступал rar"у ... возможно сейчас что-то изменилось, но не сам формат "cab" ...
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2008.02.24;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.039 c