VCL替代IStorage
-
03-07-2019 - |
题
前言我正在使用Borland C ++和VCL。
我需要某种结构化存储对象,可以将其作为单个文件保存到磁盘,并且可以包含多个命名的二进制数据blob,我可以以编程方式枚举,访问和操作。
IStorage 界面似乎是关闭我想要的东西,但我更喜欢VCL风格的解决方案,因为将TStream(VCL)转换为IStream的其他东西变得尴尬,它们必须是一个更简单的解决方案,使用已经可用的VCL东西,比如TIniFile,但是用于二进制数据。
我不想使用XML,因为二进制数据blob非常大,并且在正确编码以便在XML中使用时,它完全不合适。
提前感谢所有建议。
解决方案
zip文件实际上是一个标准容器,似乎你可以得到一个TStream接口: http://www.tek-tips.com/faqs.cfm?fid=6734
其他提示
我去了ComponentAce的 ZipForge 。它很快,正在积极开发/支持,并具有完美的界面来支持我想要的东西。
感谢everybodys的其他建议。
如果您不想存储大文件(限制为2GB),请 GPStructuredStorage 可能很方便。
这是一个用纯delphi编写的开源结构化存储库,仍然可以维护,似乎可以与D2010一起使用。
不隶属于 StackOverflow