Automatizační servery
Automatizace umožňuje aplikaci manipulovat s objekty, které jsou implementovány v jiné aplikaci nebo odkrýt objekty, takže lze manipulovat.Automatizační server je aplikace, která zpřístupňuje programovatelný objekty (nazývané automatizace objektů) do jiných aplikací (nazývané klientům automatizace).Automatizační servery se někdy nazývají Automatizace komponent.
Vystavení objekty automatizace umožňuje klientům přímý přístup k objekty automatizovat některé postupy a zpřístupní funkce serveru.Vystavení objektů tímto způsobem je výhodné v případě, že aplikace poskytují funkce, které jsou užitečné pro jiné aplikace.Například textový procesor může být jeho funkce kontroly pravopisu, takže jej můžete použít jiné programy.Expozice objekty tedy umožňuje prodejcům zlepšení funkčnosti jejich aplikací pomocí předdefinované funkce jiných aplikací.
Tyto objekty automatizace mají vlastnosti a metody jako své externí rozhraní.Vlastnosti jsou pojmenovány atributy objektu automatizace.Vlastnosti jsou jako datové členy třídy jazyka C++.Metody jsou funkce, které fungují na objekty automatizace.Metody jsou stejně jako veřejné členské funkce třídy jazyka C++.
[!POZNÁMKA]
I když jsou vlastnosti jako C++ datové členy, nejsou přímo přístupné.Zajistit transparentní přístup nastavte pro přístup k nim interní proměnné v objektu automatizace s párem členské funkce get a set.
Vystavením funkcí aplikace prostřednictvím společné, dobře definované rozhraní automatizace umožňuje vytvářet aplikace v jedné Obecné programovací jazyk jako aplikace Microsoft Visual Basic namísto v jazyce maker rozdílné, specifické pro aplikaci.
Podpora pro automatizační servery
Visual C++ a MFC framework poskytuje rozsáhlou podporu pro automatizační servery.Velká část potřebného při automatizační server, abyste se mohli zaměřit své úsilí na funkčnost aplikace pracují.
V rámci hlavní mechanismus pro podporu automatizace je odeslání mapy, sada maker, která rozšíří do prohlášení a volání, které jsou potřebné k vystavení metody a vlastnosti technologie OLE.Typické odeslání mapy 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()
Při zachování mapy odeslání okno vlastností a zobrazení tříd.Při přidání nové metody nebo vlastnosti do třídy, Visual C++ přidá odpovídající DISP_FUNCTION nebo DISP_PROPERTY s parametry určující název třídy, metody nebo vlastnosti a datové typy externí i interní názvy.
Přidat třídu dialogovém okně také zjednodušuje deklaraci třídy automatizace a řízení operací a jejich vlastností.Při přidání třídy do projektu pomocí dialogového okna Přidat třídu, zadáte svou základní třídu.Pokud základní třídy umožňuje automatizaci, zobrazí dialogové okno Přidat třídu ovládacího prvku, který slouží k určení, zda nové třídy má podporovat automatizace, ať už se jedná o "OLE vytvořitelné" (to znamená, zda objekty třídy lze vytvářet na základě žádosti klienta COM) a externí název COM klienta k použití.
Přidat třídu dialogové okno vytvoří deklarace třídy, včetně funkce OLE, je příslušná makra určili.Také přidá kostru kód implementace členské funkce do třídy.
MFC Application Wizard zjednodušuje jednotlivými kroky při opouštění země automatizační server aplikace.Vyberete-li automatizace zaškrtnutí políčka Upřesňující funkce stránky, MFC Application Wizard přidá do aplikace InitInstance funkce volání nezbytné registrovat své objekty automatizace a spustit aplikaci jako automatizační server.