zlib в exe

Тема в разделе "WASM.BEGINNERS", создана пользователем ptech, 29 ноя 2005.

  1. ptech

    ptech Петров Сергей

    Публикаций:
    0
    Регистрация:
    29 ноя 2005
    Сообщения:
    11
    Адрес:
    Russia
    Доброго времени суток!



    Помогите решить проблему использования zlib без dll. Скачал исходники zlib, но понятия не имею как их использовать. Если у кого есть готовое решение - буду очень благодарен.
     
  2. bober

    bober New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2005
    Сообщения:
    153
    Вот архив там есть все что надо. Только это не для дельфи, и не для басика.

    [​IMG] 1962863169__common.rar
     
  3. _staier

    _staier New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2003
    Сообщения:
    738
    Адрес:
    Ukraine
    в дельфи есть свой злиб в поставке , с хедерами

    в extras
     
  4. ptech

    ptech Петров Сергей

    Публикаций:
    0
    Регистрация:
    29 ноя 2005
    Сообщения:
    11
    Адрес:
    Russia
    2bober

    Спасибо!



    2staier

    С делфи проблем нет, а вот с масмом...



    Появился дугой вопрос... Получаю два участка памяти через VirtualAlloc. В один пихаю текст, после пытаюсь сжать через compress и получаю Z_MEM_ERROR. В чем может быть проблема?
     
  5. ptech

    ptech Петров Сергей

    Публикаций:
    0
    Регистрация:
    29 ноя 2005
    Сообщения:
    11
    Адрес:
    Russia
    Я не верю, что никто не сталкивался с подобной проблемой. Почему не работает сл. код:
    Код (Text):
    1.  
    2. ...
    3. local dmem  :dword
    4. local smem  :dword
    5. local dlen  :dword
    6. ...  
    7. mov dlen, 100
    8.      
    9. invoke VirtualAlloc, 0, dlen, MEM_COMMIT, PAGE_EXECUTE_READWRITE
    10. mov dmem, eax
    11. invoke VirtualAlloc, 0, 50, MEM_COMMIT, PAGE_EXECUTE_READWRITE
    12. mov smem, eax
    13.    
    14. invoke memfill, smem, 50, 65
    15.      
    16. invoke compress, dmem, addr dlen, smem, 50
    17.      
    18. invoke VirtualFree, dmem, 0, MEM_RELEASE
    19. invoke VirtualFree, smem, 0, MEM_RELEASE
    20. ...
    21.  
     
  6. ptech

    ptech Петров Сергей

    Публикаций:
    0
    Регистрация:
    29 ноя 2005
    Сообщения:
    11
    Адрес:
    Russia
    2A_Must_Loll

    С compress2 такая же история. Скорее всего проблема в *.lib, т.к. я подключаю zlib.dll и все работает. Если есть возможность, то поделись рабочим вариантом.
     
  7. Al Shark

    Al Shark New Member

    Публикаций:
    0
    Регистрация:
    16 май 2006
    Сообщения:
    13
    Адрес:
    Moscow
    вот так работает (но это статичный буфер - без VirtualAlloc)

    .data
    inbuffer db 'Hello world!',3049 dup(0)
    outbuffer db 3049 dup(0)
    outbufferlen dd 3049
    .code
    ...
    invoke compress,offset outbuffer,offset outbufferlen,offset inbuffer,17
    ...
    и вообще попробуй разжать данные из dmem (полученные после Z_MEM_ERROR) используя uncompress может они правильно сжались а ошибка только из за того что ты сжимаеш всю выделенную память (я о т ом что сжимая 50 байт выдели под буфер например 1кб)
     
  8. asd

    asd New Member

    Публикаций:
    0
    Регистрация:
    12 мар 2005
    Сообщения:
    952
    Адрес:
    Russia
    Al Shark
    Обнако:) Я думаю он тебя не услышит:)
     
  9. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    вот в чем прелесть васма - сколько бы вы не ждали (год, два, три...), а помощь все равно придет :) Ну на каком форуме еще такое встретишь :)
     
  10. Al Shark

    Al Shark New Member

    Публикаций:
    0
    Регистрация:
    16 май 2006
    Сообщения:
    13
    Адрес:
    Moscow
    lol а я и не заметил когда он постил!
    просто сам инфу по zlib искал вот и ответил.
     
  11. Mental_Mirror

    Mental_Mirror New Member

    Публикаций:
    0
    Регистрация:
    7 май 2007
    Сообщения:
    431
    бугого, надежда умирает последней. надо бы тоже темку какую-нить откопать =)