Documentos compostos
Os documentos compostos OLE permitem que os usuários que trabalham em um único aplicativo manipulem dados escritos em vários formatos e derivados de várias fontes. Por exemplo, um usuário pode inserir em um documento de processamento de texto um gráfico criado em um segundo aplicativo e um objeto de som criado em um terceiro aplicativo. A ativação do gráfico faz com que o segundo aplicativo carregue sua interface de usuário, ou pelo menos a parte que contém as ferramentas necessárias para editar o objeto. A ativação do objeto de som faz com que o terceiro aplicativo o reproduza. Em ambos os casos, um usuário é capaz de manipular dados de fontes externas de dentro do contexto de um único documento.
A tecnologia de documento composto OLE baseia-se em uma base que consiste em COM, armazenamento estruturado e transferência uniforme de dados. Conforme resumido abaixo, cada uma dessas tecnologias principais desempenha um papel crítico em documentos compostos OLE:
-
COM
-
Um objeto de documento composto é essencialmente um objeto COM que pode ser incorporado ou vinculado a um documento existente. Como um objeto COM, um objeto de documento composto expõe a interface IUnknown, por meio da qual os clientes podem obter ponteiros para suas outras interfaces, incluindo várias, como IOleObject, IOleLink e IViewObject2, que fornecem recursos especiais exclusivos para objetos de documento compostos.
-
Armazenagem Estruturada
-
Um objeto de documento composto deve implementar as interfaces IPersistStorage ou, opcionalmente, IPersistStream para gerenciar seu próprio armazenamento. Um contêiner usado para criar documentos compostos deve fornecer a interface IStorage, por meio da qual os objetos armazenam e recuperam dados. Os contêineres quase sempre fornecem instâncias de IStorage obtidas da implementação de arquivos compostos do OLE. Os contêineres também devem usar as interfaces IPersistStorage e/ou IPersistStream de um objeto.
-
Transferência uniforme de dados
-
Os aplicativos que oferecem suporte a documentos compostos devem implementar IDataObject porque objetos incorporados e objetos vinculados começam como dados que foram transferidos usando formatos especiais da área de transferência OLE, em vez de formatos padrão da área de transferência do Microsoft Windows. Em outras palavras, formatar dados como um objeto incorporado ou vinculado é simplesmente mais uma opção fornecida pelo modelo uniforme de transferência de dados do OLE.
A tecnologia de documentos compostos da OLE beneficia tanto os desenvolvedores de software quanto os usuários. Em vez de se sentirem obrigados a agrupar todos os recursos imagináveis em um único aplicativo, os desenvolvedores de software agora estão livres, se quiserem, para desenvolver aplicativos menores e mais focados que dependem de outros aplicativos para fornecer recursos adicionais. Nos casos em que um desenvolvedor de software decide fornecer um aplicativo com recursos além de seus recursos principais, o desenvolvedor pode implementar esses serviços adicionais como DLLs separadas, que são carregadas na memória somente quando seus serviços são necessários. Os usuários se beneficiam de um software menor, mais rápido e mais capaz que eles podem misturar e combinar conforme necessário, manipulando todos os componentes necessários de dentro de um único documento mestre.
Para Mais informações, consulte os seguintes tópicos:
- Contêineres e Servidores
- Vinculação e incorporação
- Manipuladores de objetos
- Servidores em processo
- Objetos Vinculados e Monikers
- Notificações
- Interfaces de documentos compostos
- Estados do objeto
- Implementando a ativação in-loco
- Criando objetos vinculados e incorporados a partir de dados existentes
- Exibir cache
Tópicos relacionados