Sdílení dat mezi prostory názvů aplikace VLX běžící ve vlastním prostoru názvů

Přehled informací

Speciální prostor názvů blackboard

Pro komunikaci mezi dvěmi prostory jmen nabízí Visual LISP speciální prostor názvů - blackboard. Blackboard není přiřazen žádnému dokumentu ani VLX aplikaci. Uživatel má možnost přístupu k proměnným v blackboardu z libovolného dokumentu nebo aplikace VLX. K tomuto účelu se používají následující funkce:

Pro nastavení hodnoty proměnné v blackboardu se používá funkce vl-bb-set:

Příklad použití: (vl-bb-set 'test "testovací hodnota")
  Funkce nastaví proměnnou test na hodnotu "testovací hodnota".

Pro získání hodnoty proměnné z blackboardu se používá funkce vl-bb-ref:

Příklad použití: (vl-bb-ref 'test)
  Funkce vrátí hodnotu proměnné "testovací hodnota".

Ukázka závislosti mezi proměnnými dokumentu a proměnnými blackboardu

  1. V příkazovém řádku AutoCADu nebo v okně konzole Visual LISPu použijte příkaz vl-bb-set pro nastavení proměnné blackboardu *příklad* na hodnotu 0:
          _$ (vl-bb-set '*příklad* 0)
          0      ;;; hodnota proměnné je nastavena na 0
        
  2. Kontrola nastavení proměnné *příklad* v blackboardu:
          _$ (vl-bb-ref '*příklad*)
          0
        
  3. Pokus o prohlédnutí proměnné *příklad* v aktuálním dokumentu AutoCADu:
          _$ !*příklad* 0
          nil       ;;; hodnota proměnné nebyla nastavena 
                     ;;; v prostoru názvů dokumentu
        
  4. Nastavení proměnné *příklad* na hodnotu "pokus" v aktuálním dokumentu:
          _$ (setq *příklad* "pokus")
          "pokus"   ;;; hodnota *příklad* je nastavena na hodnotu 
                             ;;; "pokus" v prostoru názvů dokumentu
        
  5. Kontrola hodnoty proměnné *příklad* v blackboardu:
          _$ (vl-bb-ref '*příklad*)
          0         ;;; nastavení proměnné stejného jména v prostoru
                     ;;; dokumentu (*příklad*) nemá vliv na proměnnou
                     ;;; v blackboardu