他のアプリケーションが、プログラムと同時に AutoCAD オブジェクトを使用しているときは、これらのオブジェクトにアクセスできません。これは特に、アプリケーションにリアクタが含まれているときに気をつけるべき重要なことです。それは、リアクタは、あらかじめ予測できない外部のイベントに応えてコード セグメントを実行するからです。
Visual LISP は、オブジェクトを使用しようとする前に、そのオブジェクトにアクセスできるかどうかを調べるために、次の関数を提供しています。
これらの関数は、真の場合は T を返し、偽の場合は nil を返します。次の例は、線分オブジェクトを調べます。
線分の情報が取得可能かどうかを調べます。
(vlax-read-enabled-p WhatsMyLine) T
線分が修正可能かどうかを調べます。
(vlax-write-enabled-p WhatsMyLine) T
線分が削除されているかどうかを調べます。
(vlax-erased-p WhatsMyLine) nil
WhatsMyLine が割り当てられているオブジェクトを削除します。
(vla-delete WhatsMyLine) nil
WhatsMyLine の情報がまだ取得可能かどうかを確認します。
(vlax-read-enabled-p WhatsMyLine) nil
オブジェクトが削除されたことを確認します。
(vlax-erased-p WhatsMyLine) T