Clientes de automação: usando bibliotecas de tipo
Os clientes de automação devem ter informações sobre as propriedades e métodos dos objetos do servidor se os clientes forem manipular os objetos dos servidores. As propriedades têm tipos de dados; os métodos geralmente retornam valores e aceitam parâmetros. O cliente requer informações sobre os tipos de dados de todos eles para associar estaticamente ao tipo de objeto do servidor.
Essas informações de tipo podem ser conhecidas de várias maneiras. A maneira recomendada é criar uma biblioteca de tipos.
Para obter informações sobre mkTypLib, consulte o SDK do Windows.
O Visual C++ pode ler um arquivo de biblioteca de tipos e criar uma classe de expedição derivada do COleDispatchDriver. Um objeto dessa classe tem propriedades e operações duplicando aquelas do objeto de servidor. O seu aplicativo chama as propriedades e as operações desse objeto e a funcionalidade herdada das rotas COleDispatchDriver
dessas chamadas para o sistema OLE, que por sua vez as encaminha para o objeto do servidor.
O Visual C++ mantém automaticamente esse arquivo de biblioteca de tipos para você se você optar por incluir a Automação quando o projeto foi criado. Como parte de cada build, o arquivo .tlb será criado com MkTypLib.
Para criar uma classe de expedição de um arquivo de biblioteca de tipos (.tlb)
No Modo de Exibição de Classe ou no Gerenciador de Soluções, clique com o botão direito do mouse no projeto, clique em Adicionar e clique em Adicionar Classe no menu de atalho.
Na caixa de diálogo Adicionar Classe, selecione a pasta Visual C++/MFC no painel esquerdo. Selecione a classe MFC no ícone TypeLib no painel direito e clique em Abrir.
Na caixa de diálogo Adicionar classe do Assistente Typelib, selecione uma biblioteca de tipos na lista suspensa Bibliotecas de tipos disponíveis. A caixa Interfaces exibe as interfaces disponíveis para a biblioteca de tipos selecionada.
Observação
Você pode selecionar interfaces em mais de uma biblioteca de tipos.
Para selecionar interfaces, clique duas vezes nelas ou clique no botão Adicionar. Quando você fizer isso, os nomes das classes de expedição serão exibidos na caixa de Classes geradas. É possível editar o nome da classe na caixa
Class
.A caixa Arquivo exibe o arquivo no qual a classe será declarada. (você também pode editar esse nome de arquivo). Você também pode usar o botão Procurar para selecionar outros arquivos, se preferir ter as informações de cabeçalho e implementação escritas em arquivos existentes ou em um diretório diferente do diretório do projeto.
Observação
Todas as classes de expedição para as interfaces selecionadas serão colocadas no arquivo aqui especificado. Se quiser que as interfaces sejam declaradas em cabeçalhos separados, execute este assistente para cada arquivo de cabeçalho que você deseja criar.
Observação
Algumas informações da biblioteca de tipos podem ser armazenadas em arquivos com .DLL. OCX ou extensões de arquivos .OLB.
Clique em Concluir.
Em seguida, o assistente escreverá o código para suas classes de expedição usando os nomes de classe e arquivo especificados.