Automation

Megjegyzés:

A Microsoft Foundation Classes (MFC) könyvtár továbbra is támogatott. A továbbiakban azonban nem adunk hozzá funkciókat, és nem frissítjük a dokumentációt.

Az Automation (korábbi nevén OLE Automation) lehetővé teszi, hogy az egyik alkalmazás manipulálja a másik alkalmazásban implementált objektumokat, vagy hogy objektumokat tegyen elérhetővé, hogy azok manipulálhatók legyenek.

Az Automation-kiszolgáló egy olyan alkalmazás (a COM-kiszolgáló típusa), amely a funkcióit COM-felületeken keresztül teszi elérhetővé más alkalmazások, úgynevezett Automation-ügyfelek számára. Az expozíció lehetővé teszi, hogy az Automation-ügyfelek automatizáljanak bizonyos függvényeket az objektumok közvetlen elérésével és az általuk biztosított szolgáltatások használatával.

Az automatizálási kiszolgálók és ügyfelek olyan COM-felületeket használnak, amelyek mindig a IDispatch-ből származnak, és meghatározott adattípusokkal dolgoznak, amelyeket automatizálási típusoknak neveznek. Automatizálhat minden olyan objektumot, amely egy Automation-felületet tesz elérhetővé, és olyan metódusokat és tulajdonságokat biztosít, amelyeket más alkalmazásokból érhet el. Az Automation OLE és COM-objektumokhoz is elérhető. Az automatizált objektum lehet helyi vagy távoli (egy hálózaton keresztül elérhető másik gépen); ezért az automatizálásnak két kategóriája van:

  • Automatizálás (helyi).

  • Távoli automatizálás (hálózaton keresztül, elosztott COM vagy DCOM használatával).

Az objektumok felfedésére akkor van szükség, ha az alkalmazások más alkalmazások számára is hasznos funkciókat biztosítanak. Az ActiveX-vezérlők például az Automation-kiszolgálók egy típusa; Az ActiveX-vezérlőt üzemeltető alkalmazás a vezérlő automatizálási ügyfele.

Egy másik példa, hogy a szövegszerkesztő más programok számára is elérhetővé teheti a helyesírás-ellenőrző funkciót. Az objektumok expozíciója lehetővé teszi a szállítók számára, hogy más alkalmazások kész funkcióival javítsák az alkalmazásaikat. Ily módon az Automation az objektumorientált programozás néhány alapelvét alkalmazza, például az újrafelhasználhatóságot és a beágyazást az alkalmazások szintjén.

Ennél is fontosabb az Automation által a felhasználók és a megoldásszolgáltatók számára nyújtott támogatás. Azáltal, hogy az alkalmazásfunkciókat egy közös, jól definiált felületen keresztül teszi közzé, az Automation lehetővé teszi átfogó megoldások létrehozását egyetlen általános programozási nyelven, például a Microsoft Visual Basicben, nem pedig az alkalmazásspecifikus makrónyelvekben.

Számos kereskedelmi alkalmazás, például a Microsoft Excel és a Visual Studio lehetővé teszi a funkciók nagy részének automatizálását. A Visual Studióban például VBScript-makrókat írhat a buildek automatizálásához, a kódszerkesztés szempontjaihoz vagy a feladatok hibakereséséhez.

Paraméterek átadása az Automationben

Az Automation-módszerek létrehozásának egyik nehézsége, hogy egységes "biztonságos" mechanizmust biztosít az adatok automatizálási kiszolgálók és ügyfelek közötti továbbításához. Az Automation a VARIANT típussal adja át az adatokat. A VARIANT típus címkézett unió. Az értékhez tartozik egy adattag (ez egy névtelen C++ unió), és egy adattag, amely az egyesítőben tárolt információk típusát jelzi. A VARIANT típus számos szabványos adattípust támogat: 2 és 4 bájtos egész számokat, 4 és 8 bájtos lebegőpontos számokat, sztringeket és logikai értékeket. Emellett támogatja a HRESULT (OLE hibakódok), a CURRENCY (rögzítettpontos numerikus típus) és a DATE (abszolút dátum és idő) típusokat, valamint a mutatókat IUnknown és IDispatch interfészeket.

A VARIANT típus a COleVariant osztályba van ágyazva. A támogatott CURRENCY és DATE osztályok a COleCurrency és a COleDateTime osztályokba vannak beágyazva.

Automatizálási minták

  • AUTOCLIK Ebből a mintából elsajátíthatja az automatizálási technikákat, és a távoli automatizálás tanulásának alapjaként szolgál.

  • ACDUAL Kettős adaptereket ad hozzá egy Automation-kiszolgálóalkalmazáshoz.

  • CALCDRIV Automation-ügyfélalkalmazás, amely az MFCCALC-t vezeti.

  • INPROC Egy In-Process Automation-kiszolgálóalkalmazást mutat be.

  • IPDRIVE Az INPROC-t hajtó Automation-ügyfélalkalmazás.

  • MFCCALC Egy Automation-ügyfélalkalmazást mutat be.

Mit szeretne többet megtudni

Mit szeretne tenni?

Lásd még

MFC COM