Question

To preface I am using Borland C++ and the VCL.

I need some sort of structured storage object which can be saved to disk as a single file and can contain multiple named blobs of binary data which I can programatically enumerate, access and manipulate.

The IStorage interface seems to be close what I want but I would prefer a VCL style solution as converting TStream's (VCL) to IStream's among other things gets awkward and their must be a simpler solution using the VCL stuff allready available, like a TIniFile but for binary data.

I don't want to use XML as the binary data blobs are very large and when correctly encoded for use in XML it's completely inneficient.

Thanks in advance for all suggestions.

Was it helpful?

Solution

A zip file is de facto a standard container, and it seems you can get a TStream interface to them: http://www.tek-tips.com/faqs.cfm?fid=6734

OTHER TIPS

SolFS (Solid File System) from Eldos.

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

Very reliable, but might not be the cheapest solution ($372 for one developer).

I went for ZipForge by ComponentAce. It's fast, is being actively developed/supported and has the perfect interface to support what I want.

Thanks for everybodys other suggestions.

If you don't want to store huge file(it has 2GB limit), GPStructuredStorage might be handy.

It's a open source structured storage library written in pure delphi, still maintained and seems to be worked with D2010.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top