Compartilhar via


Servidores

Um aplicativo de servidor (ou aplicativo de componente) cria itens OLE (ou componentes) para uso por aplicativos de contêiner. Um aplicativo de servidor de edição visual também dá suporte à edição visual ou ativação in-loco. Outra forma de servidor OLE é um servidor de automação. Alguns aplicativos de servidor dão suporte apenas à criação de itens inseridos; outros dão suporte à criação de itens inseridos e vinculados. Alguns dão suporte apenas à vinculação, embora isso seja raro. Todos os aplicativos de servidor devem dar suporte à ativação por aplicativos de contêiner quando o usuário quiser editar um item. Um aplicativo pode ser um contêiner e um servidor. Em outras palavras, pode incorporar dados em seus documentos e criar dados que podem ser incorporados como itens nos documentos de outros aplicativos.

Um minisservidor é um tipo especial de aplicativo de servidor que só pode ser iniciado por um contêiner. O Microsoft Draw e o Microsoft Graph são exemplos de minisservidores. Um minisservidor não armazena documentos como arquivos em disco. Em vez disso, ele lê seus documentos e os grava em itens em documentos pertencentes a contêineres. Como resultado, um minisservidor dá suporte apenas à inserção, não à vinculação.

Um servidor completo pode ser executado como um aplicativo autônomo ou iniciado por um aplicativo de contêiner. Um servidor completo pode armazenar documentos como arquivos em disco. Ele pode dar suporte para somente inserção, inserção e vinculação ou somente vinculação. O usuário de um aplicativo de contêiner pode criar um item inserido escolhendo o comando Cortar ou Copiar no servidor e o comando Colar no contêiner. Um item vinculado é criado escolhendo o comando Copiar no servidor e o comando Colar Link no contêiner. Como alternativa, o usuário pode criar um item inserido ou vinculado usando a caixa de diálogo Inserir Objeto.

A tabela a seguir resume as características de diferentes tipos de servidores:

Características do servidor

Tipo de servidor Dá suporte a várias instâncias Itens por documento Documentos por instância
Minisservidor Sim 1 1
Servidor SDI completo Sim 1 (se houver suporte para vinculação, 1 ou mais) 1
Servidor MDI completo Não (não obrigatório) 1 (se houver suporte para vinculação, 1 ou mais) 0 ou mais

Um aplicativo de servidor deve dar suporte a vários contêineres simultaneamente, caso mais de um contêiner seja usado para editar um item inserido ou vinculado. Se o servidor for um aplicativo SDI (ou um minisservidor com uma interface de caixa de diálogo), várias instâncias do servidor deverão ser capazes de ser executadas simultaneamente. Isso permite que uma instância separada do aplicativo manipule cada solicitação de contêiner.

Se o servidor for um aplicativo MDI, ele poderá criar uma nova janela MDI filho sempre que um contêiner precisar editar um item. Dessa forma, uma única instância do aplicativo pode dar suporte a vários contêineres.

Seu aplicativo de servidor deve informar às DLLs do sistema OLE o que fazer se uma instância do servidor já estiver em execução quando outro contêiner solicitar seus serviços: se ele deve iniciar uma nova instância do servidor ou direcionar todas as solicitações de contêineres para uma instância do servidor.

Para obter mais detalhes sobre servidores, consulte:

Confira também

OLE
Contêineres
Contêineres: funcionalidades avançadas
Menus e recursos (OLE)
Registro
Servidores de automação