Sdílet prostřednictvím


Automatizační servery

Automatizace umožňuje vaší aplikaci manipulovat s objekty implementovanými v jiné aplikaci nebo zpřístupnit objekty, aby je bylo možné manipulovat. Server Automation je aplikace, která zpřístupňuje programovatelné objekty (označované jako objekty Automation) jiným aplikacím (označovaným jako klienti Automation). Automatizační servery se někdy označují jako součásti služby Automation.

Zveřejnění objektů Automation umožňuje klientům automatizovat určité procedury přímým přístupem k objektům a funkcím, které server zpřístupní. Zveřejnění objektů tímto způsobem je výhodné, když aplikace poskytují funkce, které jsou užitečné pro jiné aplikace. Například textový procesor může zveřejnit funkci kontroly pravopisu, aby ji mohly používat jiné programy. Vystavení objektům tak umožňuje dodavatelům zlepšit funkčnost svých aplikací pomocí připravených funkcí jiných aplikací.

Tyto objekty Automation mají vlastnosti a metody jako jejich externí rozhraní. Vlastnosti jsou pojmenované atributy objektu Automation. Vlastnosti jsou podobné datovým členům třídy C++. Metody jsou funkce, které pracují s objekty Automation. Metody jsou podobné veřejným členským funkcím třídy C++.

Poznámka

I když jsou vlastnosti jako datové členy C++, nejsou přístupné přímo. Pokud chcete zajistit transparentní přístup, nastavte v objektu Automation interní proměnnou s dvojicí funkcí get/set pro přístup k nim.

Díky zveřejnění funkcí aplikace prostřednictvím společného dobře definovaného rozhraní umožňuje Automation vytvářet aplikace v jednom obecném programovacím jazyce, jako je Microsoft Visual Basic, a ne v různých jazycích maker specifických pro aplikace.

Podpora automatizačních serverů

Visual C++ a architektura MFC poskytují rozsáhlou podporu pro automatizační servery. Zpracovávají většinu režijních nákladů spojených s vytvářením serveru Automation, takže se můžete zaměřit na funkčnost vaší aplikace.

Hlavním mechanismem architektury pro podporu automatizace je mapa odeslání, sada maker, která se rozšíří do deklarací a volání potřebných k zveřejnění metod a vlastností pro OLE. Typická mapa odeslání vypadá takto:

BEGIN_DISPATCH_MAP(CMyServerDoc, COleServerDoc)
DISP_PROPERTY(CMyServerDoc, "Msg", m_strMsg, VT_BSTR)
DISP_FUNCTION(CMyServerDoc, "SetDirty", SetDirty, VT_EMPTY, VTS_I4)
END_DISPATCH_MAP()

Průvodce třídou a zobrazení tříd pomáhají při údržbě map dispečerů. Když do třídy přidáte novou metodu nebo vlastnost, Visual Studio přidá odpovídající DISP_FUNCTION nebo DISP_PROPERTY makro s parametry označujícími název třídy, externí a interní názvy metody nebo vlastnosti a datové typy.

Dialogové okno Přidat třídu také zjednodušuje deklaraci tříd Automation a správu jejich vlastností a operací. Když použijete dialogové okno Přidat třídu k přidání třídy do projektu, zadáte její základní třídu. Pokud základní třída umožňuje automatizaci, zobrazí dialogové okno Přidat třídu ovládací prvky, které slouží k určení, zda má nová třída podporovat automatizaci, zda je to "OLE creatable" (to znamená, zda lze objekty třídy vytvořit na požadavku klienta modelu COM) a externí název, který má klient MODELU COM použít.

Dialogové okno Přidat třídu pak vytvoří deklaraci třídy, včetně příslušných maker pro funkce OLE, které jste zadali. Přidá také kostru kódu pro implementaci členských funkcí vaší třídy.

Průvodce aplikací MFC zjednodušuje kroky spojené se získáním aplikace automatizačního serveru od země. Pokud zaškrtnete políčko Automatizace na stránce Rozšířené funkce , Průvodce aplikací MFC přidá do funkce vaší aplikace InitInstance volání potřebná k registraci objektů Automation a spuštění aplikace jako serveru Automation.

Co chcete udělat

Viz také

Automation
MFC – průvodce aplikací