Co je vlastně ActiveX Automatizace

Přehled informací

ActiveX automatizace v kostce

Nejlepší a asi i nejvýstižnější popis ActiveX Automatizace zní:

ActiveX = objektově orientovaný protokol, kterým aplikace (např. AutoCAD, Excel apod.) zveřejňuje a zpřístupňuje své služby ostatním aplikacím v prostředí Windows. Aplikace, která zpřístupňuje své služby definuje následující hierarchii:

objektů typicky aplikace, dokument, menu, odstavec ...
metod objektů zobraz, posuň, přeformátuj,...
vlastností název dokumentu, font písma, barva čáry, ...
událostí dokument otevřen, objekt smazán, ...

Podrobný popis ActiveX automatizace

Technologie ActiveX Automatizace byla vyvinutá firmou Microsoft pro spolupráci aplikací v prostředí Windows. ActiveX automatizace je založená na architektuře COM (component object model).

Technologie ActiveX rozeznává dva základní typy aplikací:

Objekty poskytované Serverem ActiveX se nazývají objekty Automatizace. Objekty Automatizace odkrývají (zpřístupňují) metody a vlastnosti:

Možnosti implementace ActiveX automatizace do AutoCADu

Implementování rozhraní ActiveX automatizace do AutoCADu poskytuje programátorům lehce pochopitelné a ve velké míře využitelné rozhraní pro řízení AutoCADu. Rozhraní ActiveX automatizace nejenom umožňuje snadnou úpravu a řízení AutoCADu, ale je zároveň použitelné pro "otevření" AutoCADu jiným aplikacím. Rozhraní ActiveX automatizace umožňuje sdílení výkresových dat s jinými aplikacemi, automatizovat úlohy apod. Otevřenost jiným aplikacím je zajištěna pomocí nabídky programovatelných objektů, které AutoCAD nabízí jiným aplikacím (jiné aplikace s nimi mohou pracovat). Popis hierarchické struktury objektů nabízených AutoCADem viz kapitola Objektový model AutoCADu. V souladu s výše uvedenou terminologií je možné na AutoCAD pohlížet jako na Server ActiveX. Na aplikace pracující s objektovým modelem AutoCADu pak jako na nástroje automatizace.

Nejpoužívanějším nástrojem automatizace, který budete využívat při práci s AutoCADem, je Visual Basic pro Aplikace (VBA). Jedná se o objektový programovací jazyk s uživatelským prostředím, který je například součástí AutoCADu a všech aplikací z balíku Microsoft Office.

Implementace ActiveX automatizace do AutoCADu umožňuje řídit (upravovat) AutoCAD i pomocí jiných programovacích jazyků, které jsou schopny pracovat s rozhraním ActiveX. Jedná se například o jazyky Visual Basic (upozorňuji, že VBA a Visual Basic nejsou synonyma pro jeden nástroj, Visual Basic představuje nejvyšší balík třídy Visual Basic, kdežto VBA je nižší z řady - neobsahuje některé vlastnosti - více viz část Rozdíly mezi VBScript, VBA a VB), JAVA nebo Delphi.

Nástroj automatizace je možné samozřejmě vybírat v závislosti na požadovaném typu operace s objekty. Můžete například požadovat, aby uživatel zadal vstup, nastavil určité parametry, vybral objekty nebo četl data výkresu. Pomocí automatizace můžete vytvářet a manipulovat s objekty AutoCADu z libovolné aplikace, která slouží jako nástroj automatizace a opačně použít AutoCAD pro řízení jiných aplikací. ActiveX automatizace umožňuje vývoj maker mezi různými aplikacemi, což je schopnost, která není u AutoLISPu možná. S ActiveX automatizací můžete kombinovat vlastnosti více aplikací do jedné aplikace.

Zhodnocení

Implementace rozhraní ActiveX automatizace byl krok správným směrem, který otevřel cestu širokému spektru vývojářů, kteří neovládají AutoLISP (ObjectARX, ADSRX). Toto je možné díky "otevření objektů AutoCADu okolnímu světu". Jakmile jsou objekty jednou zpřístupněné je možné k nim programově přistupovat z mnoha programovacích jazyků (aplikací), které podporují technologii ActiveX - Visual Basic, Delphi, JAVA, Excel, Word a dalších.