Automation

L'automation (précédemment appelé OLE Automation) rend possible pour une application de manipuler des objets implémentés dans une autre application, ou d'exposer des objets pour eux peut être manipulée.

serveur Automation est une application (un type de serveur COM) qui expose ses fonctionnalités via les interfaces COM à d'autres applications, clients Automationappelé.L'exposition permet aux clients Automation de pour automatiser certaines fonctions en accédant directement à des objets et en utilisant les services qu'elles fournissent.

Les serveurs Automation et les clients utilisent les interfaces COM qui sont toujours dérivées d' IDispatch et prennent et retournent un jeu spécifique de types de données appelés types d'Automation.Vous pouvez automatiser tout objet qui expose une interface Automation, en fournissant des méthodes et propriétés auxquelles vous pouvez accéder d'autres applications.L'automatisation est disponible pour OLE et des objets COM.L'objet automatisé peut être local ou distant (sur un autre ordinateur accessible via un réseau) ; par conséquent il existe deux catégories d'automation :

Exposer des objets est utile lorsque les applications fournissent la fonctionnalité utile à d'autres applications.Par exemple, un contrôle ActiveX est un type de serveur Automation ; l'application d'hébergement du contrôle ActiveX est le client Automation de ce contrôle.

Comme autre exemple, un traitement de texte peut exposer ses fonctionnalités de correction orthographique à d'autres programmes.L'exposition des objets permet aux fournisseurs pour améliorer leurs applications à l'aide de la fonctionnalité prête à l'emploi d'autres applications.De cette façon, l'automation applique certains principes de programmation orientée objet, tels que la réutilisabilité et l'encapsulation, au niveau des applications eux-mêmes.

Plus importante est l'automation de support la fournit aux utilisateurs et aux fournisseurs de solutions.En exposant la fonctionnalité d'application via une interface commune et bien définie, automation permet de générer des solutions globales dans un langage de programmation général unique, tel que Microsoft Visual Basic, plutôt que dans des langages macros spécifiques à l'application divers.

De nombreuses applications commerciales, telles que Microsoft Excel et Microsoft Visual C++, vous permettent d'automatiser la plupart de leurs fonctionnalités.Par exemple, dans Visual C++, vous pouvez écrire des macros de VBScript pour automatiser les builds, les aspects de la modification de code, ou les tâches de débogage.

Passage de paramètres dans l'automation

Un défi en créant des méthodes automation aide à fournir un mécanisme « sécurisé » uniforme pour passer des données entre les serveurs Automation et clients.L'automatisation utilise le type de VARIANT pour passer des données.Le type de VARIANT est une union avec balises.Elle possède une donnée membre pour la valeur (il s'agit d'une union anonyme C++) et une donnée membre indiquant le type d'informations stockée dans une union.Le type de VARIANT prend en charge un certain nombre de types de données standard : 2 et 4 entiers d'octets, 4 et 8 nombres à virgule flottante, chaînes, et valeurs booléennes d'octets.En outre, il prend en charge HRESULT (OLE codes d'erreur), CURRENCY (un type numérique à virgule fixe), les types de DATE (date et d'heure absolue), ainsi que des pointeurs vers IUnknown et les interfaces d' IDispatch .

Le type de VARIANT est encapsulé dans la classe de COleVariant .CURRENCY et les classes de prise en charge de DATE sont encapsulés dans les classes de COleCurrency et de COleDateTime .

Exemples automation

  • Utilisation d'AUTOCLIKcet exemple d'acquérir des techniques d'automation et comme base pour apprendre l'aide de l'automation à distance.

  • ACDUAL ajoute des interfaces doubles à une application serveur Automation.

  • Application cliente Automation deCALCDRIVpilotant MFCCALC.

  • INPROC illustre une application serveur Automation in-process.

  • Application cliente AutomationIPDRIVE pilotant INPROC.

  • MFCCALC illustre une application cliente Automation.

Sur quels éléments souhaitez-vous obtenir des informations supplémentaires ?

Que voulez-vous faire ?

Voir aussi

Concepts

MFC COM