Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A automação possibilita que seu aplicativo manipule objetos implementados em outro aplicativo ou exponha objetos para que eles possam ser manipulados. Um servidor de Automação é um aplicativo que expõe objetos programáveis (chamados objetos de Automação) a outros aplicativos ( chamados de clientes de Automação). Às vezes, os servidores de automação são chamados de componentes de Automação.
Expor objetos de Automação permite que os clientes automatizem determinados procedimentos acessando diretamente os objetos e a funcionalidade que o servidor disponibiliza. Expor objetos dessa forma é benéfico quando os aplicativos fornecem funcionalidade que é útil para outros aplicativos. Por exemplo, um processador de palavras pode expor sua funcionalidade de verificação ortográfica para que outros programas possam usá-la. Assim, a exposição de objetos permite que os fornecedores melhorem a funcionalidade de seus aplicativos usando a funcionalidade pronta de outros aplicativos.
Esses objetos de Automação têm propriedades e métodos como interface externa. As propriedades são atributos nomeados do objeto Automação. As propriedades são como os membros de dados de uma classe C++. Métodos são funções que funcionam em objetos de Automação. Os métodos são como as funções de membro público de uma classe C++.
Observação
Embora as propriedades sejam como membros de dados C++, elas não são diretamente acessíveis. Para fornecer acesso transparente, configure uma variável interna no objeto Automação com um par de funções de membro get/set para acessá-las.
Ao expor a funcionalidade do aplicativo por meio de uma interface comum e bem definida, a Automação possibilita criar aplicativos em uma única linguagem de programação geral, como o Microsoft Visual Basic, em vez de em diversas linguagens de macro específicas do aplicativo.
Suporte para servidores de automação
O Visual C++ e a estrutura MFC fornecem amplo suporte para servidores de Automação. Eles lidam com grande parte da sobrecarga envolvida na criação de um servidor de Automação, para que você possa concentrar seus esforços na funcionalidade do seu aplicativo.
O principal mecanismo da estrutura para dar suporte à Automação é o mapa de expedição, um conjunto de macros que se expande para as declarações e chamadas necessárias para expor métodos e propriedades do OLE. Um mapa de expedição típico tem esta aparência:
BEGIN_DISPATCH_MAP(CMyServerDoc, COleServerDoc)
DISP_PROPERTY(CMyServerDoc, "Msg", m_strMsg, VT_BSTR)
DISP_FUNCTION(CMyServerDoc, "SetDirty", SetDirty, VT_EMPTY, VTS_I4)
END_DISPATCH_MAP()
O Assistente de Classe e o Visualizador de Classe auxiliam na manutenção de mapas de despacho. Quando você adiciona um novo método ou propriedade a uma classe, o Visual Studio adiciona uma macro DISP_FUNCTION
ou DISP_PROPERTY
correspondente com parâmetros que indicam o nome da classe, nomes externos e internos do método ou propriedade, e os tipos de dados.
A caixa de diálogo Adicionar Classe também simplifica a declaração de classes de Automação e o gerenciamento de suas propriedades e operações. Quando você usa a caixa de diálogo Adicionar Classe para adicionar uma classe ao seu projeto, especifique sua classe base. Se a classe base permitir Automação, a caixa de diálogo Adicionar Classe exibirá os controles usados para especificar se a nova classe deve dar suporte à Automação, se ela é "creatável OLE" (ou seja, se os objetos da classe podem ser criados em uma solicitação de um cliente COM) e o nome externo para o cliente COM usar.
Em seguida, a caixa de diálogo Adicionar Classe cria uma declaração de classe, incluindo as macros apropriadas para os recursos OLE especificados. Ela também adiciona o código esqueleto para implementação das funções membro de sua classe.
O Assistente de Aplicativos MFC simplifica as etapas para iniciar seu aplicativo de servidor de automação. Se você marcar a caixa de seleção Automação na página Recursos Avançados, o Assistente de Aplicativo MFC acrescentará à função de seu aplicativo InitInstance
as chamadas necessárias para registrar seus objetos de Automação e executar seu aplicativo como um servidor de Automação.