Доброго времени суток! Помогите решить проблему использования zlib без dll. Скачал исходники zlib, но понятия не имею как их использовать. Если у кого есть готовое решение - буду очень благодарен.
2bober Спасибо! 2staier С делфи проблем нет, а вот с масмом... Появился дугой вопрос... Получаю два участка памяти через VirtualAlloc. В один пихаю текст, после пытаюсь сжать через compress и получаю Z_MEM_ERROR. В чем может быть проблема?
Я не верю, что никто не сталкивался с подобной проблемой. Почему не работает сл. код: Код (Text): ... local dmem :dword local smem :dword local dlen :dword ... mov dlen, 100 invoke VirtualAlloc, 0, dlen, MEM_COMMIT, PAGE_EXECUTE_READWRITE mov dmem, eax invoke VirtualAlloc, 0, 50, MEM_COMMIT, PAGE_EXECUTE_READWRITE mov smem, eax invoke memfill, smem, 50, 65 invoke compress, dmem, addr dlen, smem, 50 invoke VirtualFree, dmem, 0, MEM_RELEASE invoke VirtualFree, smem, 0, MEM_RELEASE ...
2A_Must_Loll С compress2 такая же история. Скорее всего проблема в *.lib, т.к. я подключаю zlib.dll и все работает. Если есть возможность, то поделись рабочим вариантом.
вот так работает (но это статичный буфер - без 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кб)
вот в чем прелесть васма - сколько бы вы не ждали (год, два, три...), а помощь все равно придет Ну на каком форуме еще такое встретишь