VCL alternativa para IStorage
-
03-07-2019 - |
Pergunta
Para prefaciar Estou usando Borland C ++ eo VCL.
Eu preciso de algum tipo de objeto de armazenamento estruturado que pode ser salvos no disco como um único arquivo e pode conter vários blobs chamados de dados binários que eu posso programaticamente enumerar, acesso e manipular.
O IStorage de interface parece ser perto o que eu quero, mas eu preferiria uma solução estilo VCL como a conversão de TStream (VCL) para IStream de entre outras coisas, fica estranho e sua deve ser uma solução mais simples usando o material VCL allready disponíveis, como um TIniFile mas para dados binários.
Eu não quero usar o XML como as bolhas de dados binários são muito grandes e quando corretamente codificado para uso em XML é completamente ineficiente.
Agradecemos antecipadamente por todas as sugestões.
Solução
Um arquivo zip é de facto um contêiner padrão, e parece que você pode obter uma interface TStream-lhes: http://www.tek-tips.com/faqs.cfm?fid=6734
Outras dicas
SolFS (Solid File System) de EldoS.
Muito confiável, mas pode não ser a solução mais barata ($ 372 para um desenvolvedor).
Eu fui para ZipForge por ComponentAce. É rápido, está sendo desenvolvido ativamente / suportado e tem a interface perfeita para apoiar o que eu quero.
Obrigado por everybodys outras sugestões.
Se você não deseja armazenar enorme arquivo (que tem limite de 2 GB), GPStructuredStorage pode ser útil.
É uma biblioteca de armazenamento estruturado de código aberto escrito em delphi pura, ainda mantida e parece ser trabalhado com D2010.