Rozdíly mezi Visual Basicem pro Aplikace a Visual Basicem

Přehled informací

Základní dělení rozdílů mezi Visual Basicem pro Aplikace a Visual Basicem

Rozdíly mezi Visual Basicem a Visual Basicem pro Aplikace můžeme rozdělit do dvou hlavních částí:

Aplikační výkonnost VB a VBA

VBA se řadí k tzv. "in process" nástrojům. Jedná se o nástroje přidané do hostitelské aplikace, umožňující zvýšit výkonnost hostitelské aplikace (např. AutoCADu). In process nástroje sdílí paměť a prostor procesu s hostitelskou aplikací, což podstatně zvyšuje výkonnost samotného in process nástroje. VBA poskytuje možnost integrace aplikací poskytujících VBA. AutoCAD může být v takovéto sestavě jako řídící člen automatizace a používat objekty i z jiných aplikací.

Je-li AutoCAD řízen z externí aplikace hostující VBA (např. Excel, Word) nebo programu Visual Basicu, výkon je snížen. Externí aplikace musí komunikovat s AutoCADem pomocí Windows smyčky zpráv za použití RPC (remote procedure call).

Předchozí obrázek ukazuje výkon (rychlost) aplikace vytvořené pomocí různých vývojových prostředků. Z obrázku je patrné, že nejpomalejší aplikace jsou aplikace vytvořené pomocí Visual Basicu (jako samostatný program). Naopak nejrychlejší jsou aplikace vytvořené pomocí ObjectARX. Pokud trošku slevíme z našich požadavků na rychlost výsledné aplikace a nepožadujeme-li používat MDI (multiple document interface) projekty, je nejvýhodnější použití VBA jako ActiveX automatizačního nástroje. Přičteme-li k rychlosti výsledné aplikace (při tvorbě pomocí VBA) ještě přehledné uživatelské rozhraní a snadnou tvorbu uživatelského rozhraní, stojí použití VBA minimálně za důkladnou úvahu.

Funkčnost aplikací VB a VBA

Samostatné verze Visual Basicu (mimo Control Creation Edition) obsahují kompilátor kódu produkující spustitelný soubor. Tento kompilátor není ve VBA obsažen. VBA obsahuje dokumentově centrovaný model, umožňující uložit kód ve formátu aplikace.

Výhody VBA

Přidání Visual Basicu pro Aplikace do AutoCADu byl krok správným směrem. VBA přináší uživatelům nejenom možnost programování pomocí oblíbeného jednoduchého objektově orientovaného jazyku, ale i IDE (interaktivní vývojové prostředí), pomocí něhož je tvorba, ladění a testování vyvíjených programů snadnou záležitostí. Dále jako in-process (proces běžící spolu s AutoCADem), spouštění a činnost AutoCAD VBA projektů je rychlejší a tím ještě zvyšuje předchozí uvedené přednosti.

Jako jednu z posledních výhod je možné také uvést skutečnost, že VBA je přímo integrováno v AutoCADu 2000 a tudíž odpadá nutnost vynakládat další výdaje za přikoupení vývojového prostředí VBA.

Pokud jsou na systému instalovány jiné aplikace, je možné sdílet VBA kód mezi aplikacemi, aby se redukoval obsazený diskový prostor.

Nevýhody VBA

Výhody VB

Hlavní výhodou Visual Basicu, kterou uvádí někteří programátoři, proti VBA je skutečnost, že VB je samostatný programový nástroj s robustním prostředím. Některé další výhody VB proti VBA:

Přítomnost kompilátoru pro vytvoření nativního kódu zrychlí běh aplikací a ochrání kód aplikace (intelektuální vlastnictví) před zneužitím. To je důležité hlavně pro aplikace VB externí AutoCADu. Visual Basic obsahuje výhody generování přidaných MFC vzhledu UI jako například modálních dialogů. Visual Basic umožňuje tvorbu jazykově nezávislých softwarových komponent, jako ActiveX prvků. Zahrnutí podpory DAO 3.5 do VB aplikací umožňuje vysokorychlostní přístup k ODBC datům.