Contenido principal

Integración de COM en MATLAB

R2026b

Conceptos y terminología

Aunque las ideas detrás de la tecnología COM son sencillas, la terminología no lo es. El significado de los términos de COM ha ido cambiando con el tiempo y existen pocas definiciones concisas. Aquí tenemos algunos términos que debería conocer. No se trata de definiciones exhaustivas. Para obtener una descripción completa de COM, deberá consultar recursos externos.

Objetos, clientes y servidores de COM

Un objeto de COM es un componente de software que sigue el modelo de objetos componentes. COM aplica la encapsulación del objeto y evita el acceso directo a sus datos e implementación. Los objetos de COM exponen interfaces, que constan de propiedades, métodos y eventos.

Un cliente de COM es un programa que utiliza objetos de COM. Los objetos de COM que exponen la funcionalidad para su uso se denominan servidores de COM. Los servidores de COM pueden ser servidores dentro de proceso o fuera de proceso. Un ejemplo de servidor fuera de proceso es el programa de hoja de cálculo Microsoft® Excel®.

MATLAB® puede utilizarse como cliente de COM o servidor de automatización COM.

Interfaces

La funcionalidad de un componente está definida por una o varias interfaces. Para utilizar un componente de COM, debe informarse sobre sus interfaces y los métodos, propiedades y eventos implementados por el componente. El proveedor del componente proporciona esta información.

Existen dos interfaces de COM estándar:

  • IUnknown: una interfaz requerida por todos los componentes de COM. El resto de interfaces de COM se derivan de IUnknown.

  • IDispatch: una interfaz que expone objetos, métodos y propiedades a aplicaciones que admiten la automatización.

Cliente de COM de MATLAB

Un cliente de COM es un programa que manipula objetos de COM. Estos objetos pueden ejecutarse en la aplicación de MATLAB o pueden formar parte de otra aplicación que expone sus objetos a la aplicación como una interfaz programática.

Utilizar MATLAB como cliente de COM ofrece dos técnicas para desarrollar programas en MATLAB:

  • Puede incluir componentes de COM en la aplicación de MATLAB (por ejemplo, una hoja de cálculo).

  • Puede acceder a aplicaciones existentes que exponen objetos mediante automatización.

Los clientes de COM de MATLAB pueden acceder a aplicaciones compatibles con la automatización, como el programa de hojas de cálculo Excel. MATLAB crea un servidor de automatización en el que se ejecuta la aplicación y devuelve un identificador de la interfaz primaria para el objeto creado.

Servidor de automatización de COM de MATLAB

La automatización proporciona una infraestructura a través de la cual aplicaciones denominadas controladores de automatización pueden acceder a objetos de automatización compartidos y manipularlos (es decir, establecer propiedades o llamar a métodos). Estos objetos son exportados por otras aplicaciones denominadas servidores de automatización. Cualquier programa de Windows® que pueda configurarse como un controlador de automatización puede controlar MATLAB.

Por ejemplo, usando el lenguaje de programación Microsoft Visual Basic®, puede ejecutar un script de MATLAB en una presentación de Microsoft PowerPoint®. En este caso, PowerPoint es el controlador y MATLAB es el servidor.

Consulte también

Temas