Распаковка потоков памяти с помощью LZMA

У меня есть инструмент удаленного администрирования, и мне нужно было изменить его для 64-битной платформы. Я использовал Zlib для сжатия и распаковки потоков памяти, но после этого изменения классы Zlib показывали несколько ошибок, когда я пытался скомпилируйте мой проект на 64-битной платформе, потому что Zlib доступен только для 32-битной платформы.

Затем у меня был этот поиск в Интернете для некоторых похожих классов для сжатия и распаковки потоков памяти, и я нашел этот вопрос где речь идет о классе LZMA, который также может сделать то, что мне нужно, похоже на класс Zlib.

И я понял совет:

Большая проблема, с которой вы столкнетесь, заключается в том, что выбранная вами библиотека требует, чтобы вы знали, насколько велик файл, который вы распаковываете.

Итак, я здесь именно для того, чтобы узнать некоторые предложения, чтобы попытаться решить эту проблему.

Другими словами, я хочу знать, как распаковать точный размер потока памяти, полученного серверной частью моего проекта?

Любое мнение или предложение здесь приветствуются.


person Luiz Eduardo Camilo    schedule 05.02.2016    source источник
comment
В: Какие конкретные ошибки компиляции вы получили? В: Какую версию Delphi вы используете? Пожалуйста, обновите свой пост с этой информацией.   -  person paulsm4    schedule 05.02.2016


Ответы (1)


ОК, похоже, вы используете ZLibEX от Roberto Della Pasqua, Borland:

Вы правы — часть сборки MoveI32 непереносимая.

НО ...

Вы должны иметь возможность использовать тот же API в вашем текущем Delphi XE-5 от System.Zlib:

person paulsm4    schedule 05.02.2016