Objetos vinculados e monikers
Objetos vinculados, como objetos inseridos, dependem de um manipulador de objetos para se comunicar com aplicativos de servidor. O próprio objeto vinculado, no entanto, gerencia a nomenclatura e o acompanhamento de fontes de link. O objeto vinculado age como um servidor em processo. Por exemplo, quando ativado, um objeto vinculado localiza e inicia o aplicativo de servidor OLE que é a origem do link.
O manipulador de um objeto vinculado é composto por dois componentes principais: o componente do manipulador e o componente de vinculação. O componente do manipulador contém as partes e funções de controle e comunicação remota, assim como um manipulador para um objeto inserido. O componente de vinculação tem seu próprio controlador e cache e fornece acesso ao armazenamento estruturado do objeto. O controlador de componentes de vinculação dá suporte à nomenclatura de origem por meio do uso de monikers e associação, o processo de localização e execução da origem do link. (Para obter mais informações sobre monikers e associação, consulte o modelo de objeto de componente.)
Quando um usuário cria inicialmente um objeto vinculado ou carrega um existente do armazenamento, o contêiner carrega uma instância do componente de vinculação na memória, juntamente com o manipulador de objetos. O componente de vinculação fornece interfaces — principalmente IOleLink — que identificam o objeto como um link e permitem que ele gerencie a nomenclatura, o acompanhamento e a atualização de sua fonte de link.
Implementando a interfaceIOleLink, um objeto vinculado fornece ao contêiner funções que dão suporte à vinculação. Somente objetos vinculados implementam IOleLink e, consultando essa interface, um contêiner pode determinar se um determinado objeto está inserido ou vinculado. A função mais importante fornecida pelo IOleLink permite que um contêiner se vincule à origem do objeto vinculado, ou seja, ativar a conexão com o documento que armazena os dados nativos do objeto vinculado. iOleLink também define funções para gerenciar informações sobre o objeto vinculado, como dados de apresentação armazenados em cache e o local da fonte do link.
Quando um documento composto que contém um objeto vinculado é salvo, os dados do link são salvos com a fonte do link, não com o contêiner. Somente informações sobre seu nome e local são salvas junto com o documento composto. Esse comportamento contrasta com o de um objeto inserido, cujos dados são armazenados junto com o de seu contêiner.
Os aplicativos de contêiner podem fornecer informações sobre seus objetos inseridos, de modo que este último, ou partes dela, possa atuar como fontes de link. Ao implementar o suporte para vincular aos objetos inseridos do contêiner, você possibilita inserções aninhadas, aliviando o usuário de ter que rastrear os originais de cada objeto de inserção ao qual um link é desejado. Por exemplo, se um usuário quiser inserir uma planilha do Microsoft Excel no Microsoft Word e a planilha contiver um bitmap criado no Paintbrush, o usuário poderá vincular a uma cópia do bitmap contido na planilha em vez do original.
Tópicos relacionados
-
servidores In-Process