Evento
Construír aplicacións intelixentes
Mar 17, 9 PM - Mar 21, 10 AM
Únete á serie de encontros para construír solucións de IA escalables baseadas en casos de uso do mundo real con compañeiros desenvolvedores e expertos.
Rexistrar agoraEste explorador xa non é compatible.
Actualice a Microsoft Edge para dispoñer das funcionalidades máis recentes, as actualizacións de seguranza e a asistencia técnica.
Al crear nuevas aplicaciones o componentes, es mejor crear ensamblados de .NET Framework. Sin embargo, Visual Basic también facilita la exposición de un componente de .NET Framework a COM. Esto le permite proporcionar nuevos componentes para conjuntos de aplicaciones anteriores que requieren componentes COM. En este tutorial se muestra cómo usar Visual Basic para exponer objetos de .NET Framework como objetos COM mediante la plantilla de clase COM o sin ella.
La manera más fácil de exponer objetos COM es mediante la plantilla de clase COM. Esta plantilla crea una nueva clase y, a continuación, configura el proyecto para que genere la clase con una capa de interoperabilidad como un objeto COM y la registre con el sistema operativo.
Nota
Aunque también puede exponer una clase creada en Visual Basic como un objeto COM para que la use el código no administrado, no es un objeto COM verdadero y Visual Basic no lo puede usar. Para más información, consulte Interoperabilidad COM en aplicaciones de .NET Framework.
Nota
Es posible que tu equipo muestre nombres o ubicaciones diferentes para algunos de los elementos de la interfaz de usuario de Visual Studio en las siguientes instrucciones. La edición de Visual Studio que se tenga y la configuración que se utilice determinan estos elementos. Para obtener más información, vea Personalizar el IDE.
Abra un nuevo proyecto de aplicación de Windows en el menú Archivo haciendo clic en Nuevo proyecto.
En el cuadro de diálogo Nuevo proyecto debajo del campo Tipos de proyecto, compruebe que Windows está seleccionado. Seleccione Biblioteca de clases en la lista Plantillas y, a continuación, haga clic en Aceptar. El nuevo proyecto se abre.
Seleccione Agregar elemento nuevo en el menú Proyecto. Se abrirá el cuadro de diálogo Agregar nuevo elemento.
Seleccione Clase COM en la lista Plantillas y, a continuación, haga clic en Agregar. Visual Basic agrega una nueva clase y configura el nuevo proyecto para la interoperabilidad COM.
Agregue código como propiedades, métodos y eventos a la clase COM.
Seleccione Compilar ClassLibrary1 en el menú Compilar. Visual Basic compila el ensamblado y registra el objeto COM con el sistema operativo.
También puede crear manualmente una clase COM en lugar de usar la plantilla de clase COM. Este procedimiento resulta útil cuando se trabaja desde la línea de comandos o cuando desea tener más control sobre cómo se definen los objetos COM.
Abra un nuevo proyecto de aplicación de Windows en el menú Archivo haciendo clic en Nuevo Proyecto.
En el cuadro de diálogo Nuevo proyecto debajo del campo Tipos de proyecto, compruebe que Windows está seleccionado. Seleccione Biblioteca de clases en la lista Plantillas y, a continuación, haga clic en Aceptar. El nuevo proyecto se abre.
En el Explorador de soluciones, haga clic con el botón derecho del mouse en su proyecto y después seleccione Propiedades. Aparece el Diseñador de proyectos.
Haga clic en la pestaña Compilar.
Active la casilla Registrar para interoperabilidad COM.
En Explorador de soluciones, haga doble clic en Class1.vb para que aparezca su código.
Cambie el nombre de la clase a ComClass1
.
Agregue las constantes siguientes a ComClass1
. Almacenarán las constantes de identificador único global (GUID) que los objetos COM deben tener.
Public Const ClassId As String = ""
Public Const InterfaceId As String = ""
Public Const EventsId As String = ""
En el menú Herramientas, haga clic en Crear GUID. En el cuadro de diálogo Crear GUID, haga clic en Formato de Registro y luego en Copiar. Haga clic en Salir.
Reemplace la cadena vacía del ClassId
por el GUID, quitando las llaves iniciales y finales. Por ejemplo, si el GUID proporcionado por Guidgen es "{2C8B0AEE-02C9-486e-B809-C780A11530FE}"
, el código debe aparecer de la siguiente manera.
Public Const ClassId As String = "2C8B0AEE-02C9-486e-B809-C780A11530FE"
Repita los pasos anteriores para las constantes InterfaceId
y EventsId
, como en el ejemplo siguiente.
Public Const InterfaceId As String = "3D8B5BA4-FB8C-5ff8-8468-11BF6BD5CF91"
Public Const EventsId As String = "2B691787-6ED7-401e-90A4-B3B9C0360E31"
Nota
Asegúrese de que los GUID son nuevos y únicos; de lo contrario, el componente COM podría entrar en conflicto con otros componentes COM.
Agregue el atributo ComClass
a ComClass1
, especificando los GUID del identificador de clase, de interfaz y de eventos, como en el ejemplo siguiente:
<ComClass(ComClass1.ClassId, ComClass1.InterfaceId, ComClass1.EventsId)>
Public Class ComClass1
Las clases COM deben tener un constructor Public Sub New()
sin parámetros o la clase no se registrará correctamente. Agregue un constructor sin parámetros a la clase:
Public Sub New()
MyBase.New()
End Sub
Agregue propiedades, métodos y eventos a la clase, finalizando con una instrucción End Class
. En el menú Compilar, seleccione Compilar solución. Visual Basic compila el ensamblado y registra el objeto COM con el sistema operativo.
Nota
Los objetos COM que se generan con Visual Basic no se pueden usar en otras aplicaciones de Visual Basic porque no son verdaderos objetos COM. Los intentos de agregar referencias a estos objetos COM producirán un error. Para más información, consulte Interoperabilidad COM en aplicaciones .NET Framework.
Comentarios de .NET
.NET é un proxecto de código aberto. Selecciona unha ligazón para ofrecer comentarios:
Evento
Construír aplicacións intelixentes
Mar 17, 9 PM - Mar 21, 10 AM
Únete á serie de encontros para construír solucións de IA escalables baseadas en casos de uso do mundo real con compañeiros desenvolvedores e expertos.
Rexistrar agoraFormación
Módulo
Aan de slag met klassen en objecten in C# - Training
Leer hoe u klassen maakt en objecten instantiëren die ingekapselde veldgegevens beschikbaar maken met behulp van klassedefinities, constructors en de operator 'nieuwe'.
Documentación
Inleiding tot COM Interop - Visual Basic
Meer informatie over: Inleiding tot COM-interoperabiliteit (Visual Basic)
Meer informatie over: COM Interop (Visual Basic)
Procedure: Verwijzen naar COM-objecten van Visual Basic - Visual Basic
Meer informatie over: Instructies: Verwijzen naar COM-objecten van Visual Basic