Конференция "KOL" » KOL: Проблемы совместимости с KOLZLib (потоки) [Delphi, KOL, Windows]
 
  • 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 для работы с потоками в новом формате?
  • Vladimir Kladov © (24.01.08 15:22) [1]
    Разве уже не переделано? На 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 - вот она и не работает.
    Еще раз извиняюсь за беспокойство :) Всем спасибо
 
Конференция "KOL" » KOL: Проблемы совместимости с KOLZLib (потоки) [Delphi, KOL, Windows]
Есть новые Нет новых   [134431   +12][b:0][p:0.001]