Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
A automação possibilita que seu aplicativo manipule objetos implementados em outro aplicativo ou exponha objetos para que possam ser manipulados. Um servidor de automação é um aplicativo que expõe objetos programáveis (chamados objetos de automação) para outros aplicativos (chamados clientes de automação). Os servidores de automação às vezes são chamados de componentes de automação.
A exposição de 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 maneira é benéfico quando os aplicativos fornecem funcionalidade que é útil para outros aplicativos. Por exemplo, um processador de texto pode expor sua funcionalidade de verificação ortográfica para que outros programas possam usá-lo. A exposição de objetos, portanto, 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 sua interface externa. As propriedades são atributos nomeados do objeto de 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 Automation 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 torna possível 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
Visual C++ e a estrutura MFC fornecem suporte extensivo 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 despacho, um conjunto de macros que se expande para as declarações e chamadas necessárias para expor métodos e propriedades para OLE. Um mapa de despacho 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 a Vista de Classe ajudam 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 ou correspondente DISP_FUNCTIONDISP_PROPERTY com parâmetros que indicam o nome da classe, nomes externos e internos do método ou propriedade e 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. Ao usar a caixa de diálogo Adicionar classe para adicionar uma classe ao seu projeto, você especifica sua classe base. Se a classe base permitir automação, a caixa de diálogo Adicionar classe exibirá os controles que você usa para especificar se a nova classe deve suportar automação, se é "OLE creatable" (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. Ele também adiciona o código esqueleto para implementação das funções de membro da sua classe.
O MFC Application Wizard simplifica as etapas envolvidas no lançamento do aplicativo de servidor de automação. Se você marcar a caixa de seleção Automação na página Recursos Avançados , o MFC Application Wizard adicionará à função do InitInstance seu aplicativo as chamadas necessárias para registrar seus objetos de Automação e executar seu aplicativo como um servidor de Automação.