Domanda

Per prefazione sto usando Borland C ++ e il VCL.

Ho bisogno di una sorta di oggetto di archiviazione strutturato che può essere salvato su disco come un singolo file e può contenere più BLOB denominati di dati binari che posso elencare, accedere e manipolare programmaticamente.

L'interfaccia IStorage sembra essere chiudo quello che voglio ma preferirei una soluzione in stile VCL poiché la conversione di TStream (VCL) in IStream tra le altre cose diventa imbarazzante e la loro deve essere una soluzione più semplice usando le cose VCL già disponibili, come un file TIni ma per i dati binari.

Non voglio usare XML poiché i BLOB di dati binari sono molto grandi e se correttamente codificati per l'uso in XML è completamente inefficace.

Grazie in anticipo per tutti i suggerimenti.

È stato utile?

Soluzione

Un file zip è di fatto un contenitore standard e sembra che tu possa ottenere un'interfaccia TStream: http://www.tek-tips.com/faqs.cfm?fid=6734

Altri suggerimenti

SolFS (Solid File System) di Eldos.

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

Molto affidabile, ma potrebbe non essere la soluzione più economica ($ 372 per uno sviluppatore).

Ho scelto ZipForge di ComponentAce. È veloce, viene attivamente sviluppato / supportato e ha l'interfaccia perfetta per supportare ciò che voglio.

Grazie per gli altri suggerimenti di everybodys.

Se non vuoi archiviare file di grandi dimensioni (ha un limite di 2 GB), GPStructuredStorage potrebbe essere utile.

È una libreria di archiviazione strutturata open source scritta in puro delphi, ancora mantenuta e sembra funzionare con D2010.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top