Aplikace VLX (Visual LISP executable) běžící ve svém vlastním prostoru jmen

Přehled informací

Aplikace VLX

AutoLISP neumožňuje předávat hodnoty funkcí a proměnných mezi jednotlivými dokumenty jako je to možné např. při použití Visual BASICu. V dřívějších verzích AutoCADu (R14 a nižší) tento požadavek nebyl důležitý, protože AutoCAD neměl podporu pro MDI (Multiple Document Interface). Aby bylo možné provozovat aplikace ve vlastním prostoru jmen ( a bylo možné pracovat bezpečně s proměnnými a funkcemi ve více dokumentech) umožňuje editor Visual LISPu přeložit soubor (projekt) s definicí funkcí nebo dialogových boxů do aplikace typu VLX (Visual LISP eXecutable) běžící ve vlastním nebo dokumentovém prostoru jmen. Proměnné a funkce definované v aplikaci VLX běžící ve vlastním prostoru názvů jsou známé pouze této aplikaci, NE dokumentu, který byl aktivní během načítání aplikace. To ochrání proměnné před náhodným (nebo úmyslným) přepsáním jinou aplikací nebo uživatelem.

Postup vytvoření aplikace VLX běžící ve vlastním prostoru jmen

1. Vyberete z nabídky Soubor položku Vytvořit aplikaci a dále Průvodce novou instalací. Objeví se dialog Režim průvodce s dotazem jaký režim průvodce preferujeme. Ponechte zatrženo Pro pokročilé a zmáčkněte tlačítko Další.

2. V dialogu Adresář aplikace musíte zadat Umístění aplikace (kde bude vytvořen soubor aplikace) a Název aplikace. Cílový soubor je pro kontrolu zobrazen v dolní části dialogu. Pro naši aplikaci zadáme jméno souboru pokus.vlx. Po zadání všech uvedených hodnot můžete zmáčknout tlačítko Další.

3. V dialogu Možnost aplikace zatrhneme položku Oddělené prostory názvů - touto volbou požadujeme, že vytvořená aplikace poběží ve svém vlastním prostoru názvů. Pro pokračování zmáčkněte tlačítko Další.

4. V dialogu Zahrnout LISP soubory, vyberete soubory, které chcete přiřadit do aplikace. Soubory, které musíte v našem případu vybrat jsou vidět na obrázku. Pro pokračování zmáčkněte tlačítko Další.

5. V dialogu Zahrnout soubory prostředků (resource) nebudeme vybírat žádné soubory. Pro pokračování zmáčkněte tlačítko Další.

6. V dialogu Možnosti kompilace aplikace zatrhneme Standardní režim kompilace. Pro pokračování zmáčkněte tlačítko Další.

7. V dialogu Prohlédnout nastavení / Sestavit aplikaci dokončíte vytvoření aplikace zatržením Sestavit aplikaci a zmáčknutím tlačítka Dokončit je vytvořena výsledná aplikace jednoduchy.vlx.

Spolupráce prostoru názvů dokumentu s prostorem názvů VLX aplikace

Obrázek znázorňuje relaci AutoCADu s dvěmi otevřenými dokumenty. Dále je nahrána VLX aplikace "Aplikace" s ohledem na dokument "DOKUMENT1" (např. nejprve byl otevřen dokument "DOKUMENT1" a poté nahrána aplikace VLX "Aplikace"). Aplikace VLX "Aplikace" zavede svůj vlastní prostor jmen a deklaruje funkci bar a proměnou Prom2 v tomto prostoru. VLX exportuje funkci bar do prostoru názvů dokumentu "DOKUMENT1". Když uživatel spustí funkci bar v dokumentu "DOKUMENT1", funkce bar je spuštěna v prostoru názvů aplikace. Funkce bar je neznámá v dokumentu "DOKUMENT2" a žádný dokument nemá přístup k proměnné Prom2 (VLX ji neexportuje). Uživatel může nahrát jinou instanci aplikace VLX "Aplikace" do dokumentu "DOKUMENT2", ale tato instance bude mít svůj prostor názvů a svoji vlastní kopii funkce bar a proměnné Prom2.

Poznámka - nahrání již jednou nahrané aplikace VLX

Při pokusu o nahrání již jednou nahrané aplikace VLX ( ve vlastním prostoru názvů) je zobrazeno chybové hlášení. Před nahráním aplikace VLX ve vlastním prostoru názvů je dobré se nejprve pokusit aplikaci odstranit pomocí příkazu:

(vl-unload-vlx "jméno_aplikace")

Upozornění

Pokud vytvoříte a nahrajete aplikaci VLX, která není definovaná ve vlastním prostoru názvů -> všechny funkce a proměnné jsou nahrány do prostoru jmen aktuálního dokumentu.