Documents composés
Les documents composés OLE permettent aux utilisateurs travaillant au sein d’une seule application de manipuler des données écrites dans différents formats et dérivées de plusieurs sources. Par exemple, un utilisateur peut insérer dans un document de traitement de texte un graphique créé dans une deuxième application et un objet sonore créé dans une troisième application. L’activation du graphe entraîne le chargement de l’interface utilisateur de la deuxième application, ou du moins de la partie contenant les outils nécessaires pour modifier l’objet. L’activation de l’objet sonore entraîne sa lecture par la troisième application. Dans les deux cas, un utilisateur peut manipuler des données à partir de sources externes à partir du contexte d’un seul document.
La technologie de document composé OLE repose sur une base composée de COM, de stockage structuré et de transfert de données uniformes. Comme résumé ci-dessous, chacune de ces technologies de base joue un rôle essentiel dans les documents composés OLE :
-
COM
-
Un objet document composé est essentiellement un objet COM qui peut être incorporé ou lié à un document existant. En tant qu’objet COM, un objet document composé expose l’interface IUnknown , par le biais de laquelle les clients peuvent obtenir des pointeurs vers ses autres interfaces, y compris plusieurs, telles que IOleObject, IOleLink et IViewObject2, qui fournissent des fonctionnalités spéciales propres aux objets de document composés.
-
Stockage structuré
-
Un objet document composé doit implémenter les interfaces IPersistStorage ou, éventuellement, IPersistStream pour gérer son propre stockage. Un conteneur utilisé pour créer des documents composés doit fournir l’interface IStorage , via laquelle les objets stockent et récupèrent des données. Les conteneurs fournissent presque toujours des instances d’IStorage obtenues à partir de l’implémentation de fichiers composés d’OLE. Les conteneurs doivent également utiliser les interfaces IPersistStorage et/ou IPersistStream d’un objet.
-
Transfert uniforme de données
-
Les applications qui prennent en charge les documents composés doivent implémenter IDataObject , car les objets incorporés et les objets liés commencent par des données qui ont été transférées à l’aide de formats spéciaux du Presse-papiers OLE, plutôt que des formats de Presse-papiers Microsoft Windows standard. En d’autres termes, la mise en forme des données en tant qu’objet incorporé ou lié est simplement une option de plus fournie par le modèle de transfert de données uniforme d’OLE.
La technologie de documents composés d’OLE bénéficie aux développeurs de logiciels et aux utilisateurs. Au lieu de se sentir obligés de regrouper toutes les fonctionnalités imaginables dans une seule application, les développeurs de logiciels sont désormais libres, s’ils le souhaitent, de développer des applications plus petites et plus ciblées qui s’appuient sur d’autres applications pour fournir des fonctionnalités supplémentaires. Dans les cas où un développeur de logiciels décide de fournir à une application des fonctionnalités au-delà de ses fonctionnalités de base, le développeur peut implémenter ces services supplémentaires sous forme de DLL distinctes, qui sont chargées en mémoire uniquement lorsque leurs services sont nécessaires. Les utilisateurs bénéficient de logiciels plus petits, plus rapides et plus performants qu’ils peuvent combiner et faire correspondre en fonction des besoins, en manipulant tous les composants requis à partir d’un seul document master.
Pour plus d'informations, voir les rubriques suivantes :
- Conteneurs et serveurs
- Liaison et incorporation
- Gestionnaires d’objets
- Serveurs in-process
- Objets liés et monikers
- Notifications
- Interfaces de document composé
- États des objets
- Implémentation de l’activation In-Place
- Création d’objets liés et incorporés à partir de données existantes
- Afficher la mise en cache
Rubriques connexes