VCL альтернатива IStorage

Для предисловия я использую Borland C++ и VCL.

Мне нужен какой-то структурированный объект хранения, который может быть сохранен на диск в виде одного файла и может содержать несколько именованных двоичных объектов двоичных данных, которые я могу программно перечислять, получать к ним доступ и манипулировать ими.

Интерфейс IStorage, кажется, близок к тому, что я хочу, но я бы предпочел решение в стиле VCL, поскольку преобразование TStream (VCL) в IStream, среди прочего, становится неуклюжим, и они должны быть более простым решением с использованием уже доступных материалов VCL, таких как TIniFile, но для двоичные данные.

Я не хочу использовать XML, так как двоичные двоичные объекты данных очень велики, а при правильном кодировании для использования в XML они совершенно неэффективны.

Заранее спасибо за все предложения.

4 ответа

Решение

Файл zip де-факто является стандартным контейнером, и, кажется, вы можете получить к ним интерфейс TStream: http://www.tek-tips.com/faqs.cfm?fid=6734

SolFS (Solid File System) от Eldos.

http://www.eldos.com/solfs/

Очень надежный, но, возможно, не самый дешевый вариант (372 доллара за одного разработчика).

Я пошел на ZipForge от ComponentAce. Это быстро, активно развивается / поддерживается и имеет идеальный интерфейс для поддержки того, что я хочу.

Спасибо за все другие предложения.

Если вы не хотите хранить огромный файл (он имеет ограничение в 2 ГБ), GPStructuredStorage может пригодиться.

Это структурированная библиотека с открытым исходным кодом, написанная на чистом Delphi, которая до сих пор поддерживается и, похоже, работает с D2010.

Другие вопросы по тегам