Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> НЕ Объектный Zlib 
:(
    Опции темы
Dimannn
Дата 20.8.2005, 18:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 318
Регистрация: 14.4.2005
Где: Владимир

Репутация: нет
Всего: 1



Я делал програмку с помощью KOL .
В неё решил вставить простенькое архивирование.
Использовал ZLib.
Но он как оказалось использует классес и из-за этого размер екзешника саметно (в 5 раз) увеличивается.
В 6 Делве исходников нет, а из 7-го не компилируется.
Zlib использует только TStream и TNotyfiEvent.
Можно ли как-то исправить положение.

Зарание спасибо.


--------------------
Хотите быстро и без проблем опубликовать вашу программу в сети за 5 минут?
Тогда потратьте пару минут чтобы посмотреть, что предлагает OpenProject.org.ru
PM MAIL ICQ   Вверх
Snowy
Дата 22.8.2005, 13:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Все уже давно сделано.
На сайте KOL скачай KOLZlib.
Адаптировано под KOL из оригинальных исходняков с сайта gzip'a
И архивирование вовсе и не простенькое. По крайней мере лучше ZIP'a.
Хотя размер все равно добавляет.
Килобайт 30-35, при использовании компрессии и декомпрессии.
Либо 20кб, если только декомпрессия.
Но UPX дело поправит... Давит ZLib весьма хорошо.
PM MAIL   Вверх
Dimannn
Дата 22.8.2005, 22:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 318
Регистрация: 14.4.2005
Где: Владимир

Репутация: нет
Всего: 1



Цитата(Snowy @ 22.8.2005, 13:04)
Либо 20кб, если только декомпрессия


А как ему сказать, что только декомпрессия.
Или в ручную всё лишнее удалять?


--------------------
Хотите быстро и без проблем опубликовать вашу программу в сети за 5 минут?
Тогда потратьте пару минут чтобы посмотреть, что предлагает OpenProject.org.ru
PM MAIL ICQ   Вверх
Snowy
Дата 23.8.2005, 09:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Цитата(Dimannn @ 22.8.2005, 22:37)
А как ему сказать, что только декомпрессия.

Он же не объектный. Если ты не будешь использовать компрессию, то она и не войдет в exe.
Код

program zlsample;

{$DEFINE KOL_MCK}

uses
  Windows,
  KOL,
  KOLZLib;

function CompressStream(Source, Dest: PStream):boolean;
var
  zip: PStream;
begin
  result:=false;
  If NewZLibCStream (zip, clMax, Dest, nil) then
    if (Stream2Stream(zip,Source,Source.Size)=Source.Size) then
      result:=true;
  zip.Free;
end;

function DecompressStream(Source, Dest: PStream; Size:dword):boolean;
var
  zip: PStream;
begin
  result:=false;
  If NewZLibDStream (zip, Source, nil) then 
    if (Stream2Stream (Dest, zip, Size)=Size) then
      result:=true;
  zip.Free;
end;

begin
  // CompressStream(...,...);
  DecompressStream(...,...,...);
end.

Вот так. Просто не включаем в код вызов компрессии.
Все. Компилятор не включит функцию компрессии вообще.
Соответственно и блоки компрессора линковаться не будут.
У меня приведенный выше пример весит 25кб.
Если раскомментировать компрессию, то 41кб.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0447 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.