2010-04-23 3 views
0

Je suis un développeur C++ luttant avec la mise à jour d'une application qui a largement utilisé l'interface IStorage pour ouvrir des documents pré-Office 2007 à partir d'un stockage en mémoire (via ILockBytes).Ouverture de documents Office 2007 à partir de la mémoire de stockage - Comment?

Si vous me suivez toujours jusqu'à présent, vous savez probablement que les nouveaux formats Office Document sont incompatibles avec les conteneurs IStorage. L'application que j'essaye de mettre à jour, s'est appuyée sur l'interface d'IPersistStorage que toutes les applications d'Office ont, et le code comme écrit appelle la méthode de chargement d'IPersistStorage pour lire dans un document de l'interface d'IStorage.

La question est la suivante:

Quel type d'interfaces COM sont disponibles pour moi de lire, d'un récipient en mémoire, un document Office 2007?

+0

En russe communauté Delphi la séquence suivante d'appels est suggéré: GlobalAlloc (GMEM_MOVEABLE, Stream.Size) => GlobalLock => CreateILockBytesOnHGlobal = > StgOpenStorageOnILockBytes => OleLoad => IOleObject.DoVerb (0, nul, nul, 0, 0, Rect (0, 0, 0, 0)) –

Répondre

0

J'ai eu à faire avec le même problème, lire et écrire à partir du stockage de base de données.

À l'heure actuelle, je pense que le meilleur moyen pourrait être d'utiliser le support WebDAV et d'utiliser un serveur Web pour implémenter WebDAV pour lire et écrire dans la base de données.

Il est un gâchis, mais ... d'autres pointeurs serait la bienvenue :-)

Questions connexes