Documentos compuestos

Los documentos compuestos OLE permiten a los usuarios trabajar en una sola aplicación para manipular datos escritos en varios formatos y derivados de varios orígenes. Por ejemplo, un usuario podría insertar en un documento de procesamiento de texto un grafo creado en una segunda aplicación y un objeto de sonido creado en una tercera aplicación. La activación del grafo hace que la segunda aplicación cargue su interfaz de usuario, o al menos esa parte que contenga las herramientas necesarias para editar el objeto. La activación del objeto de sonido hace que la tercera aplicación la reproduzca. En ambos casos, un usuario puede manipular datos de orígenes externos desde dentro del contexto de un único documento.

La tecnología de documentos compuestos OLE se basa en una base que consta de COM, almacenamiento estructurado y transferencia uniforme de datos. Como se resume a continuación, cada una de estas tecnologías principales desempeña un papel fundamental en los documentos compuestos OLE:

COM

Un objeto de documento compuesto es básicamente un objeto COM que se puede incrustar o vincular a un documento existente. Como objeto COM, un objeto de documento compuesto expone la interfaz IUnknown , a través de la cual los clientes pueden obtener punteros a sus otras interfaces, incluidas varias, como IOleObject, IOleLink e IViewObject2, que proporcionan características especiales exclusivas de los objetos de documento compuestos.

Almacenamiento estructurado

Un objeto de documento compuesto debe implementar las interfaces IPersistStorage o, opcionalmente, IPersistStream para administrar su propio almacenamiento. Un contenedor usado para crear documentos compuestos debe proporcionar la interfaz IStorage , a través de la cual los objetos almacenan y recuperan datos. Los contenedores casi siempre proporcionan instancias de IStorage obtenidos de la implementación de archivos compuestos de OLE. Los contenedores también deben usar las interfaces IPersistStorage o IPersistStream de un objeto.

Transferencia uniforme de datos

Las aplicaciones que admiten documentos compuestos deben implementar IDataObject porque los objetos incrustados y los objetos vinculados comienzan como datos transferidos mediante formatos especiales del Portapapeles OLE, en lugar de los formatos estándar del Portapapeles de Microsoft Windows. En otras palabras, dar formato a los datos como un objeto incrustado o vinculado es simplemente una opción más proporcionada por el modelo de transferencia de datos uniforme de OLE.

La tecnología de documentos compuestos de OLE beneficia tanto a los desarrolladores de software como a los usuarios. En lugar de sentirse obligado a cram cada característica concebible en una sola aplicación, los desarrolladores de software ahora son libres, si les gusta, para desarrollar aplicaciones más pequeñas y centradas que dependen de otras aplicaciones para proporcionar características adicionales. En los casos en los que un desarrollador de software decide proporcionar una aplicación con funcionalidades más allá de sus características principales, el desarrollador puede implementar estos servicios adicionales como archivos DLL independientes, que se cargan en memoria solo cuando se requieren sus servicios. Los usuarios se benefician de software más pequeño, más rápido y capaz de mezclar y combinar según sea necesario, manipulando todos los componentes necesarios desde un único documento maestro.

Para obtener más información, vea los temas siguientes:

Transferencia de datos

Almacenamiento estructurado