Interoperabilidade COM em aplicativos .NET Framework (Visual Basic)
Quando você deseja usar objetos COM e objetos .NET Framework no mesmo aplicativo, você precisa abordar as diferenças em como os objetos existem na memória. Um objeto do .NET Framework está localizado na memória gerenciada — a memória controlada pelo Common Language Runtime — e pode ser movido pelo tempo de execução conforme necessário. Um objeto COM está localizado na memória não gerenciada e não se espera que seja movido para outro local de memória. O Visual Studio e o .NET Framework fornecem ferramentas para controlar a interação desses componentes gerenciados e não gerenciados. Para obter mais informações sobre código gerenciado, consulte Common Language Runtime.
Além de usar objetos COM em aplicativos .NET, você também pode querer usar o Visual Basic para desenvolver objetos acessíveis a partir de código não gerenciado por meio de COM.
Os links nesta página fornecem detalhes sobre as interações entre objetos COM e .NET Framework.
Secções relacionadas
Artigo | Description |
---|---|
Interoperabilidade COM | Fornece links para tópicos que abrangem a interoperabilidade COM no Visual Basic, incluindo objetos COM, controles ActiveX, DLLs Win32, objetos gerenciados e herança de objetos COM. |
Interoperando com código não gerenciado | Descreve brevemente alguns dos problemas de interação entre código gerenciado e não gerenciado e fornece links para estudos adicionais. |
Invólucros COM | Discute wrappers chamáveis em tempo de execução, que permitem que o código gerenciado chame métodos COM, e wrappers chamáveis COM, que permitem que clientes COM chamem métodos de objeto .NET. |
Interoperabilidade COM avançada | Fornece links para tópicos que abrangem a interoperabilidade COM com relação a wrappers, exceções, herança, threading, eventos, conversões e empacotamento. |
Tlbimp.exe (Importador de Biblioteca de Tipos) | Discute a ferramenta que você pode usar para converter as definições de tipo encontradas em uma biblioteca de tipos COM em definições equivalentes em um assembly de Common Language Runtime. |