Porovnání VBA s jinými programovacími jazyky

Přehled informací

Porovnání VBA s jinými programovacími jazyky

Největším přínosem VBA proti AutoLISPu je integrace. AutoLISP je dokonalý a jednoduchý jazyk pro použití, bohužel nemá žádný přístup k funkcím, metodám a objektům jiné aplikace. Další velkou nevýhodou AutoLISPu je jeho těžkopádnost při tvorbě uživatelského rozhraní (dialogů). Dialogové boxy v AutoLISPu se musí psát "ručně". Existují sice aplikace od jiných výrobců, které umožňují jednoduchý visuální návrh dialogů, ale ty nejsou součástí dodávky AutoCADu.

Visual Basic pro Aplikace odstraňuje některé nevýhody AutoLISPu při zachování jednoduchosti programování. Hlavní předností VBA je silně objektově orientovaný jazyk s jednoduchým přístupem k jiným aplikacím, jejich funkcím, metodám a objektům. A v neposlední řadě VBA odstraňuje i nevýhodu AutoLISPu - programování uživatelského rozhraní. VBA poskytuje visuální nástroje tvorby dialogových boxů. Potřebujete-li například do rozhraní přidat rozbalovací seznam jednoduše ho vyberete z nabídky nástrojů a přetáhnete na požadované místo v dialogu, nastavíte jeho velikost, popis, barvu ... .

VBA nenabízí jenom přístup k jiným aplikacím nebo dokumentům. VBA umožňuje řídit i samotné prostředí operačního systému Windows pomocí Win32API. VBA dokáže použít skryté funkce z knihoven DLL jako například získání systémových informací, vytvoření klíčů v registrech (práce s nimi), řízení ukazatele myši, změna barev systému, řízení systémové tiskárny atd.

Spojením AutoCADu, rozhraní ActiveX Automatizace a VBA je dosaženo velice silného rozhraní, které umožňuje nejen řídit objekty AutoCADu, ale také posílat a přijímat data z jiných aplikací. Prostředí VBA běží současně s AutoCADem a umožňuje programové řízení AutoCADu přes rozhraní ActiveX Automatizace. Jelikož je AutoCAD hostitelem VBA, nedochází k prodlevám jako při volání odděleného procesu. Z toho plyne větší rychlost provádění rutin VBA proti Visual LISPu a dokonce i proti Visual Basicu (rozdíl mezi VBA a VB) běžícímu jako samostatná aplikace. Rychlost provádění rutin VBA je velice blízká rychlosti kompilovanému C++ (ObjectARX - DLL).

Výhody používání rozhraní AutoCAD ActiveX/VBA

Rychlost
  Běh procesů ve VBA, ActiveX aplikacích je rychlejší než v aplikacích AutoLISPu.
Jednoduchost použití
  Programovací jazyk a vývojové prostředí jsou jednoduché a jsou instalovány s AutoCADem.
Spolupráce s jinými aplikacemi ve Windows
  ActiveX/VBA dovoluje využívat služeb jiné aplikace, která podporuje automatizaci ActiveX, lze tak vytvořit program využívající služeb několika programů najednou (např. Word, Excel, AutoCAD) bez nutnosti pořídit jakékoliv zvláštní vývojové prostředí.
Základna programátorů
  V současnosti existuje velké množství programátorů využívající VBA pro úpravy i tvorbu různých aplikací.
Rychlý návrh prototypů
  Rychlý návrh rozhraní (proti DCL a ARX), je nejlepším prostředím pro rychlý návrh prototypů aplikací, i když nakonec budou vyvíjeny v jiném programovacím jazyce.

Nevýhody prostředí Visual Basic pro aplikace

Hlavní a asi nejpodstatnější nevýhodou současné implementace VBA v AutoCADu je možnost použití pouze jednoho aktivního projektu VBA. Mezi další nevýhody patří: