Compartilhar via


Clientes de automação

A automação possibilita que um aplicativo manipule objetos implementados em outro aplicativo ou exponha objetos para que possam ser manipulados. Um cliente de automação é um aplicativo que pode manipular objetos expostos pertencentes a outro aplicativo. O aplicativo que expõe esses objetos é chamado de servidor de automação. O cliente manipula os objetos do aplicativo de servidor acessando as propriedades e funções desses objetos.

Tipos de clientes de automação

Há dois tipos de clientes de automação:

  • Clientes que adquirem informações dinamicamente (em tempo de execução) sobre as propriedades e operações do servidor.

  • Clientes que possuem informações estáticas (fornecidas no momento da compilação) que especificam as propriedades e as operações do servidor.

Os clientes do primeiro tipo adquirem informações sobre os métodos e as propriedades do servidor consultando o mecanismo IDispatch do sistema OLE. Embora seja adequado o seu uso para clientes dinâmicos, é difícil usar IDispatch com clientes estáticos, em que os objetos que estão sendo controlados devem ser conhecidos em tempo de compilação. Para clientes vinculados estáticos, as classes do Microsoft Foundation fornecem a classe COleDispatchDriver.

Os clientes vinculados estáticos usam uma classe proxy que está estaticamente vinculada ao aplicativo cliente. Essa classe fornece um encapsulamento C++ fortemente tipado das propriedades e operações do aplicativo de servidor.

A classe COleDispatchDriver fornece o suporte principal para o lado do cliente da automação. Usando a caixa de diálogo Adicionar Novo Item, crie uma classe derivada de COleDispatchDriver.

Em seguida, especifique o arquivo de biblioteca de tipos que descreve as propriedades e as funções do objeto do aplicativo de servidor. A caixa de diálogo Adicionar Item lê esse arquivo e cria a classe derivada COleDispatchDriver, com funções de membro que o seu aplicativo pode chamar para acessar os objetos do aplicativo de servidor em C++ de maneira fortemente tipada. A funcionalidade adicional herdada de COleDispatchDriver simplifica o processo de chamar o servidor de automação adequado.

Manipular eventos em clientes de automação

Se você quiser lidar com eventos em seu cliente de automação, precisará adicionar uma interface de coletor. O MFC fornece suporte ao assistente para adicionar interfaces de coletor para controles ActiveX, mas não o suporte para outros servidores COM.

Confira também

Clientes de automação: usando bibliotecas de tipo
Automação
Assistente de aplicativo do MFC