Como fazer referência a objetos COM a partir do Visual Basic
No Visual Basic, adicionar referências a objetos COM que têm bibliotecas de tipos requer a criação de um assembly de interoperabilidade para a biblioteca COM. As referências aos membros do objeto COM são roteadas para o assembly de interoperabilidade e, em seguida, encaminhadas para o objeto COM real. As respostas do objeto COM são roteadas para o assembly de interoperabilidade e encaminhadas para o aplicativo .NET Framework.
Você pode fazer referência a um objeto COM sem usar um assembly de interoperabilidade inserindo as informações de tipo para o objeto COM em um assembly .NET. Para inserir informações de tipo, defina a propriedade Embed Interop Types
para True
para a referência ao objeto COM. Se você estiver compilando usando o compilador de linha de comando, use a opção /link
para fazer referência à biblioteca COM. Para saber mais, consulte -link (Visual Basic).
O Visual Basic cria automaticamente assemblies de interoperabilidade quando você adiciona uma referência a uma biblioteca de tipos do IDE (ambiente de desenvolvimento integrado). Ao trabalhar na linha de comando, você pode usar o utilitário Tlbimp para criar assemblies de interoperabilidade manualmente.
Para adicionar referências a objetos COM
No menu Projeto, escolha Adicionar Referência e clique na guia COM na caixa de diálogo.
Selecione o componente que você deseja usar na lista de objetos COM.
Para simplificar o acesso ao assembly de interoperabilidade, adicione uma instrução
Imports
à parte superior da classe ou módulo no qual você usará o objeto COM. Por exemplo, o exemplo de código a seguir importa o namespaceINKEDLib
para objetos referenciados na bibliotecaMicrosoft InkEdit Control 1.0
.Class Sample 'Private s As IInkCursor End Class
Para criar um assembly de interoperabilidade usando o Tlbimp
Adicione o local do Tlbimp ao caminho de pesquisa, se ele ainda não fizer parte do caminho de pesquisa e você não estiver atualmente no diretório no qual ele está localizado.
Chame o Tlbimp de um prompt de comando, fornecendo as seguintes informações:
Nome e local da DLL que contém a biblioteca de tipos
Nome e local do namespace no qual as informações devem ser colocadas
Nome e local do assembly de interoperabilidade de destino
O código a seguir mostra um exemplo:
Tlbimp test3.dll /out:NameSpace1 /out:Interop1.dll
Você pode usar o Tlbimp para criar assemblies de interoperabilidade para bibliotecas de tipos, mesmo para objetos COM não registrados. No entanto, os objetos COM referenciados por assemblies de interoperabilidade precisam ser registrados corretamente no computador no qual devem ser usados. Você pode registrar um objeto COM usando o utilitário Regsvr32 incluído no sistema operacional Windows.