VLX ファイルのプライベート データの使用をテストするには(AutoLISP/Visual LISP IDE)

VLX ファイルを設定することにより、別の名前空間にわたるデータにアクセスすることができます。

  1. Visual LISP コンソール ウィンドウに次のコマンドを入力します。
    (vlax-ldata-put "mydict" "mykey" "Mumbo Dumbo")
    "Mumbo Dumbo"
    
    (vlax-ldata-get "mydict" "mykey")
    "Mumbo Dumbo"
  2. ファイルに次のコードを入力し、[アプリケーションを作成]を使用してファイルから VLX を作成します。[アプリケーションを作成]ウイザードの[エキスパート モード]を使用します。また、[コンパイル オプション]タブで[独自の名前空間]オプションを選択します。
    (vl-doc-export 'ldataput)
    (vl-doc-export 'ldataget)
    (vl-doc-export 'ldataget-nilt)
    
    (defun ldataput ()
      (princ "This is a test of putting private ldata ")
      (vlax-ldata-put "mydict" "mykey" "Mine! Mine! " T)
    )
    
    (defun ldataget ()
      (vlax-ldata-get "mydict" "mykey")
    )
    
    (defun ldataget-nilt ()
      (vlax-ldata-get "mydict" "mykey" nil T)
    )
  3. VLX ファイルをロードします。
  4. ldataput 関数を実行して、プライベート データを保存します。
    (ldataput)
    This is a test of putting private ldata

    ldataput 関数を定義しているコードを再確認してください。この関数は "Mine!Mine!"

  5. ldataget 関数を実行して、LISP データを取得します。
    (ldataget)
    "Mumbo Dumbo"

    ldataget 関数が取得したデータは、ldataput 関数が格納したデータではないことに注意してください。これは、ldataget 関数が、private 引数を指定せずに vlax-ldata-get 関数を呼び出したからです。このため、ldataget 関数が取得したデータは、手順 1 で vlax-ldata-put 関数を実行して設定したデータになります。

    (ldataget-nilt)
    "Mine! Mine!"
  6. ldataget-nilt 関数を実行して、LISP データを取得します。
    (ldataget-nilt)
    "Mine! Mine!"

    今度は、ldataget-nilt 関数が vlax-ldata-get 関数の呼び出しで private 引数を指定しているので、ldataput 関数が保存したプライベート データが返されます。

  7. コンソール プロンプトから、ldataget-nilt 関数が使用するのと同じ呼び出しを実行して、プライベート データを取得します。
    (vlax-ldata-get "mydict" "mykey" nil T)
    "Mumbo Dumbo"

    vlax-ldata-get 関数を独自の名前空間の外側で実行した場合、private 引数は無視されます。指定された dict および key に対する非プライベート データが存在する場合(そのインスタンス内に)、そのデータが取得されます。