Compartir a través de


Automatización

La automatización (anteriormente conocida como Automatización OLE) permite que una aplicación manipule objetos implementados en otra aplicación o exponga objetos para que se puedan manipular.

Un servidor de Automation es una aplicación (un tipo de servidor COM) que expone su funcionalidad a través de interfaces COM a otras aplicaciones, denominadas clientes de Automation. La exposición permite a los clientes de Automation automatizar determinadas funciones mediante el acceso directo a objetos y el uso de los servicios que proporcionan.

Los servidores y clientes de Automatización usan interfaces COM que siempre se derivan de IDispatch y toman y devuelven un conjunto específico de tipos de datos denominados tipos de automatización. Puede automatizar cualquier objeto que exponga una interfaz de Automation, proporcionando métodos y propiedades a los que puede acceder desde otras aplicaciones. La automatización está disponible para objetos OLE y COM. El objeto automatizado puede ser local o remoto (en otra máquina accesible a través de una red); por lo tanto, hay dos categorías de automatización:

  • Automatización (local).

  • Automatización remota (a través de una red, mediante COM distribuido o DCOM).

Exponer objetos es beneficioso cuando las aplicaciones proporcionan funcionalidad útil a otras aplicaciones. Por ejemplo, un control ActiveX es un tipo de servidor de Automation; la aplicación que hospeda el control ActiveX es el cliente de automatización de ese control.

Como otro ejemplo, un procesador de texto podría exponer su funcionalidad de revisión ortográfica a otros programas. La exposición de objetos permite a los proveedores mejorar sus aplicaciones mediante la funcionalidad preparada de otras aplicaciones. De este modo, Automation aplica algunos de los principios de programación orientada a objetos, como la reutilización y la encapsulación, en el nivel de las propias aplicaciones.

Lo más importante es que la automatización de soporte técnico proporciona a los usuarios y proveedores de soluciones. Al exponer la funcionalidad de la aplicación a través de una interfaz común y bien definida, Automation permite crear soluciones completas en un único lenguaje de programación general, como Microsoft Visual Basic, en lugar de en diversos lenguajes de macro específicos de la aplicación.

Muchas aplicaciones comerciales, como Microsoft Excel y Microsoft Visual C++, permiten automatizar gran parte de su funcionalidad. Por ejemplo, en Visual C++, puede escribir macros de VBScript para automatizar compilaciones, aspectos de la edición de código o tareas de depuración.

Pasar parámetros en Automation

Una dificultad para crear métodos de Automatización es ayudar a proporcionar un mecanismo uniforme "seguro" para pasar datos entre los servidores de automatización y los clientes. Automation usa el tipo VARIANT para pasar datos. El tipo VARIANT es una unión etiquetada. Tiene un miembro de datos para el valor (se trata de una unión anónima de C++) y un miembro de datos que indica el tipo de información almacenada en la unión. El tipo VARIANT admite varios tipos de datos estándar: enteros de 2 y 4 bytes, números de punto flotante de 4 y 8 bytes, cadenas y valores booleanos. Además, admite los tipos HRESULT (códigos de error OLE), CURRENCY (un tipo numérico de punto fijo) y DATE (fecha y hora absolutas), así como punteros a IUnknown e IDispatch interfaces.

El tipo VARIANT se encapsula en la clase COleVariant . Las clases CURRENCY y DATE admitidas se encapsulan en las clases COleCurrency y COleDateTime .

Ejemplos de Automatización

  • AUTOCLIK Use este ejemplo para aprender técnicas de automatización y como base para aprender Automatización remota.

  • ACDUAL Agrega interfaces duales a una aplicación de servidor de Automation.

  • CALCDRIV Aplicación cliente de Automation que impulsa MFCCALC.

  • INPROC Muestra una aplicación de servidor In-Process Automation.

  • IPDRIVE Aplicación cliente de Automation que impulsa INPROC.

  • MFCCALC Muestra una aplicación cliente de Automation.

¿Qué quieres saber más sobre

Qué desea hacer

Consulte también

MFC COM