Compartilhar via


Instruções passo a passo: criando objetos COM com o Visual Basic

Ao criar novos aplicativos ou componentes, é melhor criar conjuntos do .NET Framework. No entanto, Visual Basic também facilita a expor um componente do .NET Framework para COM. Isso permite que você fornecer novos componentes anteriores aplicativo conjuntos que requerem componentes COM. Essa explicação passo a passo demonstra como usar Visual Basic para expor os objetos .NET Framework como objetos COM, com e sem o modelo classe COM.

A maneira mais fácil expor objetos COM é usando o modelo classe COM. O modelo classe COM cria uma nova classe e, em seguida, configura seu projeto para gerar a camada de classe e interoperabilidade como um objeto COM e registrá-lo com o sistema operacional.

Dica

Embora você também pode expor uma classe criada em Visual Basic como um objeto COM para código não gerenciado para usar, ele não é uma verdadeiro COM objeto e não pode ser usado por Visual Basic.Para obter mais informações, consulte Interoperabilidade COM em aplicativos .NET Framework (Visual Basic).

Dica

Seu computador pode mostrar nomes ou locais diferentes para alguns dos elementos da interface do usuário do Visual Studio nas instruções a seguir. A edição do Visual Studio que você possui e as configurações que você usa determinam esses elementos. Para obter mais informações, consulte Personalizando configurações de desenvolvimento no Visual Studio.

Para criar um objeto COM, usando o modelo classe COM

  1. Abra um novo projeto aplicativos do Windows a partir do menu File,clicando em Novo Projeto .

  2. Na caixa Novo Projeto caixa de diálogo em Tipos de Projeto Campo, verifique que o Windows está selecionado. Selecione biblioteca de classes a partir de Templates Lista e em seguida, clique em OK . O novo projeto é exibido.

  3. A partir do menu Project, selecione Add New Item. A caixa de diálogo Add New Item é exibida.

  4. Selecione Classe COM da modelos de e, em seguida, clique Add. Visual BasicAdiciona uma nova classe e configura o novo projeto para interoperabilidade COM.

  5. Adicione código como propriedades, métodos e eventos para o classe COM.

  6. Selecione Build ClassLibrary1 da Build menu. Visual Basiccria o assembly e registra o objeto COM o sistema operacional.

Criando objetos sem o modelo de classe COM

Você também pode criar um classe COM instead of manualmente usando o modelo classe COM. Esse procedimento é útil quando você estiver trabalhando a partir de linha de comando ou quando você deseja ter mais controle sobre Como COM objetos são definidos.

Para configurar seu projeto para gerar um objeto COM

  1. Abra um novo projeto de aplicativo do Windows a partir do arquivo menu clicando em Newprojeto.

  2. Na caixa Novo Projeto caixa de diálogo em Tipos de Projeto Campo, verifique que o Windows está selecionado. Selecione biblioteca de classes a partir de Templates Lista e em seguida, clique em OK . O novo projeto é exibido.

  3. No Solution Explorer, clique com o botão direito do mouse no nó do seu projeto e clique em Properties. O Project Designer é exibida.

  4. Clique na guia Compile.

  5. Marque a caixa de seleção Register for COM interop.

Para configurar o código em sua classe para criar um objeto COM

  1. Em Gerenciador de Soluções ,clique duas vezes em Class1.vb para exibir seu código.

  2. Renomeie a classe para ComClass1.

  3. Adicione a ComClass1 constantes a seguir. Eles armazenará as constantes (GUID) que os objetos COM são necessários para ter.

    Public Const ClassId As String = "" 
    Public Const InterfaceId As String = "" 
    Public Const EventsId As String = ""
    
  4. Sobre o Ferramentas menu, clique em Criar Guid. No Criar GUID caixa de diálogo, clique em Formato do registro e, em seguida, clique em Copy. Clique em Exit.

  5. Substitua a sequência de caracteres vazia para o ClassId com o GUID, removendo as chaves à esquerda e à direita. Por exemplo, se o GUID fornecido pelo Guidgen é "{2C8B0AEE-02C9-486e-B809-C780A11530FE}" Em seguida, seu código deve aparecer da seguinte maneira.

    Public Const ClassId As String = "2C8B0AEE-02C9-486e-B809-C780A11530FE"
    
  6. Repita as etapas anteriores para o InterfaceId e EventsId constantes, como no exemplo a seguir.

    Public Const InterfaceId As String = "3D8B5BA4-FB8C-5ff8-8468-11BF6BD5CF91" 
    Public Const EventsId As String = "2B691787-6ED7-401e-90A4-B3B9C0360E31"
    

    Dica

    Certifique-se de que os GUIDs são novas e exclusivas; caso contrário, o componente COM pode entrar em conflito com outros componentes COM.

  7. Adicione o atributo ComClass para ComClass1, especificando os GUIDs para a identificação de classe, interface identificação e a identificação de eventos como no exemplo a seguir:

    <ComClass(ComClass1.ClassId, ComClass1.InterfaceId, ComClass1.EventsId)>
    Public Class ComClass1
    
  8. Classes COM devem ter um construtor Public Sub New() sem-parâmetros, ou a classe não registrará corretamente. Adicione um construtor sem-parâmetros à classe:

    Public Sub New()
        MyBase.New()
    End Sub
    
  9. Adicione propriedades, métodos e eventos à classe, terminando-lo com uma instrução End Class. Selecione Build Solution partir do Build menu. Visual Basiccria o assembly e registra o objeto COM o sistema operacional.

    Dica

    Os objetos COM que você gerar com Visual Basic não podem ser usados por outros aplicativos Visual Basic porque eles são objetos COM não é verdade.Tenta adicionar referências a esses objetos COM irá gerar um erro.Para obter detalhes, consulte:Interoperabilidade COM em aplicativos .NET Framework (Visual Basic).

Consulte também

Tarefas

Instruções passo a passo: implementando a herança com objetos COM (Visual Basic)

Solucionando problemas de interoperabilidade (Visual Basic)

Referência

ComClassAttribute

Diretiva #Region

Outros recursos

Interoperabilidade COM (Visual Basic)

Interoperabilidade COM em aplicativos .NET Framework (Visual Basic)