Compartir a través de


Ejemplo ACDUAL: agrega interfaces duales a una aplicación de automatización (ejemplos de C++)

Actualización: noviembre 2007

ACDUAL muestra la forma de agregar compatibilidad con una interfaz dual a una aplicación de Automatización basada en MFC con compatibilidad con COM nativa del compilador. Vea el Ejemplo ACDUAL de MFC para obtener más información.

Nota de seguridad:

Este código de ejemplo se proporciona para ilustrar un concepto y no debe utilizarse en aplicaciones o sitios Web, ya que quizás no ilustre las prácticas de codificación más seguras. Microsoft no asume ninguna responsabilidad por daños incidentales o consecuenciales en caso de que el código de ejemplo se utilice para otros propósitos distintos de aquellos para los que se concibió.

Para obtener ejemplos e instrucciones para su instalación:

  • En el menú Ayuda de Visual Studio, haga clic en Ejemplos.

    Para obtener más información, vea Localizar archivos de ejemplo.

  • La lista de ejemplos completa con la versión más reciente está disponible en línea en la página Visual Studio 2008 Samples.

  • También encontrará ejemplos en el disco duro de su equipo. De manera predeterminada, los ejemplos y el archivo Léame se copian en una carpeta bajo \Archivos de programa\Visual Studio 9.0\Samples\. Para las versiones Express de Visual Studio, todos los ejemplos están en línea.

Generar y ejecutar el ejemplo

Para generar y ejecutar este ejemplo

  1. Abra la solución acdual.sln.

  2. En el menú Generar, haga clic en Generar solución.

  3. Establezca acdual como proyecto de inicio (haga clic con el botón secundario del mouse en el nodo del proyecto y elija Establecer como proyecto de inicio) y haga clic en el botón Iniciar. Acdual se registrará a sí mismo (de lo contrario, no se ejecutaría el proyecto cliente). Cierre la aplicación acdual antes de continuar.

  4. Establezca autodriv como proyecto de inicio y ejecútelo. Utilice el cuadro de diálogo AutoClik Test Drive para modificar el resultado en la ventana ACDual AClick.

Comparación con la versión basada en MFC

Las diferencias entre este ejemplo y el ejemplo de MFC del mismo nombre son:

  • La clase COleDispatchDriver ya no es necesaria. En su lugar, se usa #import para importar una biblioteca de tipos.

  • Las clases contenedoras _bstr_t y _variant_t se utilizan para simplificar operaciones con los tipos BSTR y VARIANT.

  • Se utiliza __declspec(property) para simplificar las operaciones de asignación para propiedades de objetos COM.

  • Ahora el control de errores de COM se realiza mediante la clase _com_error.

Con la compatibilidad con COM nativa del compilador de Visual C++, el código de ejemplo resultante es más breve y eficaz. El ejemplo ACDUAL basado en MFC utiliza interfaces duales o sólo interfaces de tipo dispinterface. Compare este ejemplo con la versión de MFC para observar las diferencias en el código fuente.

Palabras clave

En este ejemplo, se ilustra el uso de las siguientes palabras clave:

dispinterface; #import; _com_ptr_t; _variant_t; _bstr_t; _com_error

Vea también

Tareas

Ejemplo ACDUAL: agrega interfaces duales a una aplicación de automatización

Referencia

Compiler COM Support

Otros recursos

Ejemplos de compatibilidad con COM del compilador