VCL alternative to IStorage
VCL alternative to IStorage
在前言中,我使用Borland C++和VCL。
我需要某种结构化的存储对象,它可以作为一个文件保存到磁盘上,并且可以包含多个命名的二进制数据块,我可以用程序枚举、访问和操作这些数据块。
IStorage接口似乎很接近我想要的,但我更喜欢VCL风格的解决方案,因为将TStream(VCL)转换为IStream会变得很尴尬,而且它们必须是一个更简单的解决方案——使用VCL的东西,比如TIniFile,但用于二进制数据。
我不想使用XML,因为二进制数据块非常大,并且当正确编码以用于XML时,它是完全无效的。
提前感谢您的所有建议。
zip文件实际上是一个标准容器,您似乎可以获得它们的TStream接口:http://www.tek-tips.com/faqs.cfm?fid=6734
http://www.eldos.com/solfs/
非常可靠,但可能不是最便宜的解决方案(一个开发人员372美元)。
我选择了ComponentAce的ZipForge。它很快,正在积极开发/支持中,并且有一个完美的界面来支持我想要的东西。
谢谢大家的其他建议。
如果您不想存储巨大的文件(它有2GB的限制),GPStructuredStorage可能会很方便。
这是一个用纯delphi编写的开源结构化存储库,目前仍在维护中,似乎可以与D2010一起使用。
相关文章:
- "error: no matching function for call to"构造函数错误
- 调用专用模板时出错"no matching function for call to [...]"
- C++ Singleton - Prevent ::instance() to variable
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- Visual Studio Code "undefined reference to `WinMain@16'"
- 使用 GCC 卸载的 OpenMP 卸载失败,并出现"Ptx assembly aborted due to errors"
- 如何解决"invalid conversion from 'char' to 'const char*'"
- 使用 MATLAB 编码器生成C++代码:编译错误"undefined reference to `rgb2gray_tbb_real64'"
- 尝试链接我的着色器时,我收到错误代码"error c5145 must write to gl_position"
- Python str to C++ to Python str
- 为什么创建友元类的实例会导致"undefined reference to"错误?
- System.InvalidCastException - SQL to C++ - safe_cast<float>
- 使用 cmake 的 Linux 终端上的"Conversion to non-scalar type is requested"错误
- "no matching function for call to 'Vector::Vector'"错误
- vector<vector<double>> to mxArray using memcpy
- Tensorflow c++ api undefined reference to 'tflite::D efaultErrorReporter()'
- 当覆盖存在时调用基本虚拟"binded to object"函数
- OpenGL VBO Indexing ( How to compute Index Array)
- 为什么我会" void value not ignored as it ought to be"?
- VCL alternative to IStorage