-
Blackman (24.01.08 13:29) [0]В версии 2.84 был значительно изменен формат работы с потоками (Streams), но в то же время добавлен символ условной компиляции STREAM_COMPAT, что должно было приводить к использованию старых деклараций. http://pda.delphimaster.net/?id=1193583248&n=10
Теперь при попытке компилировать KOLZLib с этим символом на саму KOLZLib вроде как не ругается, но KOL собираться не хочет, ни ASM-, ни PAS-версия. Ругается на объявлени функции SeekMemStream и еще нескольких.
В связи с чем вопрос: что сделать проще (и возьмется ли кто-нибудь ;) - протащить нужные изменения в KOL для корректной работы STREAM_COMPAT или переписать KOLZLib для работы с потоками в новом формате? -
Разве уже не переделано? На kolmck.net должен быть совместимый с новыми потоками вариант, я его в первую очередь поправил.
-
Дмитрий К © (24.01.08 15:57) [2]
> Теперь при попытке компилировать KOLZLib с этим символом
> на саму KOLZLib вроде как не ругается, но KOL собираться
> не хочет, ни ASM-, ни PAS-версия. Ругается на объявлени
> функции SeekMemStream и еще нескольких.
Это происходит потому, что заголовки функций в секции implementation отличаются от секции interface при объявлении STREAM_COMPAT.
Например, для функции SeekMemString:interface
function SeekMemStream( Strm: PStream; {$IFNDEF STREAM_COMPAT} const {$ENDIF} MoveTo: TStrmMove; MoveFrom: TMoveMethod ): TStrmSize;
implementation
function SeekMemStream( Strm: PStream; const MoveTo: TStrmMove; MoveFrom: TMoveMethod ): TStrmSize;
Поэтому для корректной работы STREAM_COMPAT нужно просто привести в соответствие заголовки функций:SeekMemStream
SetSizeMemStream
ReadMemStream
WriteMemStream
WriteExMemoryStream -
Blackman (24.01.08 16:24) [3]
> Разве уже не переделано? На kolmck.net должен быть совместимый
> с новыми потоками вариант, я его в первую очередь поправил.
>
Владимир, извините, действительно Ваша версия работает.
Просто я скачивал последнюю версию с http://kolnmck.ru/ там тоже версия KOLZLib 1.1.4 - вот она и не работает.
Еще раз извиняюсь за беспокойство :) Всем спасибо