VLX ファイルを設定することにより、別の名前空間にわたるデータにアクセスすることができます。
(vlax-ldata-put "mydict" "mykey" "Mumbo Dumbo") "Mumbo Dumbo" (vlax-ldata-get "mydict" "mykey") "Mumbo Dumbo"
(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) )
(ldataput) This is a test of putting private ldata
ldataput 関数を定義しているコードを再確認してください。この関数は "Mine!Mine!"
(ldataget) "Mumbo Dumbo"
ldataget 関数が取得したデータは、ldataput 関数が格納したデータではないことに注意してください。これは、ldataget 関数が、private 引数を指定せずに vlax-ldata-get 関数を呼び出したからです。このため、ldataget 関数が取得したデータは、手順 1 で vlax-ldata-put 関数を実行して設定したデータになります。
(ldataget-nilt) "Mine! Mine!"
(ldataget-nilt) "Mine! Mine!"
今度は、ldataget-nilt 関数が vlax-ldata-get 関数の呼び出しで private 引数を指定しているので、ldataput 関数が保存したプライベート データが返されます。
(vlax-ldata-get "mydict" "mykey" nil T) "Mumbo Dumbo"
vlax-ldata-get 関数を独自の名前空間の外側で実行した場合、private 引数は無視されます。指定された dict および key に対する非プライベート データが存在する場合(そのインスタンス内に)、そのデータが取得されます。