Класс-обёртка для zlib на базе оригинального Си-кода

Планы, идеология, архитектура и т.п.

Модератор: Модераторы

Аватара пользователя
Nik
энтузиаст
Сообщения: 573
Зарегистрирован: 03.02.2006 23:08:09
Откуда: Киров
Контактная информация:

Re: Класс-обёртка для zlib на базе оригинального Си-кода

Сообщение Nik »

После закрытия Google Code исходники переехали на GitHub.

В общем, если кому интересно - присоединяйтесь: https://github.com/Nik-vr/lazarus-zlib

Подумываю о публикации кода ещё несколько полезняшек. Надо только исходники причесать :)
Последний раз редактировалось Nik 16.03.2015 15:09:04, всего редактировалось 1 раз.
Timid
постоялец
Сообщения: 290
Зарегистрирован: 21.11.2007 20:33:15

Re: Класс-обёртка для zlib на базе оригинального Си-кода

Сообщение Timid »

В Дельфи не соберется, теперь базовый тип string - UTF16. Объектные файлы нужно переписать / перекомпилировать.

Но это небольшое горе :)

Проблема в исходниках. Для GoogleCode по требованиям лицензии нужно выкладывать исходники (OpenSource обязательно), а у Вас объектные файлы.
Хотя - спасибо!

Вот если еще упаковка потоков бы поддерживалась ...
Аватара пользователя
Nik
энтузиаст
Сообщения: 573
Зарегистрирован: 03.02.2006 23:08:09
Откуда: Киров
Контактная информация:

Re: Класс-обёртка для zlib на базе оригинального Си-кода

Сообщение Nik »

Объектные файлы - не проблема. На Google Code из можно выложить (во всяком случае технически это возможно, да и исходники рядом положить никто не мешает, в принципе). Что касается перекомпиляции, то тут видится один вариант: сделать несколько папок с obj-файлами (под разные платформы и компиляторы) и линковать их кучей условий типа {$IFDEF MSWINDOWS}.

Вот если еще упаковка потоков бы поддерживалась ...

Функции для упаковки потоков есть в файле ZLibEx:

Код: Выделить всё

procedure ZCompressStream(inStream, outStream: TStream;
  level: TZCompressionLevel = zcDefault);

procedure ZDecompressStream(inStream, outStream: TStream);


Особой нужны писать для них обёртки нет (и так всё просто). Разве что оформить в виде функций, возвращающих результат (чисто для удобства вызова).

Добавлено спустя 2 часа 41 секунду:
Обновил код до ревизии r16. Вынес линковку obj-файлов в отдельный inc-файл. Добавил блок условий:

Код: Выделить всё

{$IFDEF FPC}
 {$IFDEF WIN32}
  {$I win32-obj.inc}
 {$ENDIF}
{$ENDIF}


Если кто-нибудь сделает и obj-файлы для других платформ и проверит их работу - можно будет добавить в репозиторий.
Аватара пользователя
Nik
энтузиаст
Сообщения: 573
Зарегистрирован: 03.02.2006 23:08:09
Откуда: Киров
Контактная информация:

Re: Класс-обёртка для zlib на базе оригинального Си-кода

Сообщение Nik »

Код переехал на GitHub: https://github.com/Nik-vr/lazarus-zlib
Ответить