Compartilhar via


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

  1. No menu Projeto, escolha Adicionar Referência e clique na guia COM na caixa de diálogo.

  2. Selecione o componente que você deseja usar na lista de objetos COM.

  3. 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 namespace INKEDLib para objetos referenciados na biblioteca Microsoft InkEdit Control 1.0.

    Imports INKEDLib
    
    Class Sample
        Private s As IInkCursor
    
    End Class
    

Para criar um assembly de interoperabilidade usando o Tlbimp

  1. 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.

  2. 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.

Confira também