概要 - 独自の名前空間 VLX から外部 ObjectARX 関数にアクセスする(Visual LISP IDE)

外部の ObjectARX アプリケーションで定義された関数には独自の名前空間 VLX からアクセスすることができますが、まず関数を読み込むために vl-arx-import を実行する必要があります。

注: Visual LISP IDE は Windows でのみ使用可能です。

ObjectARX 関数は、データ タイプ EXRXSUBR として識別されます。たとえば次の例は、startapp を外部 ObjectARX 関数として識別します。

コマンド: (type startapp)

EXRXSUBR

次の関数は、AutoLISP ファイルからロードすると、正しく機能します。

(vl-doc-export 'StartApp2)
(vl-load-com)
(defun StartApp2 ()
   (setq acadApp (vlax-get-acad-object))
   (setq acadDoc (vla-Get-ActiveDocument acadApp))
   (setq acadPrefs (vla-Get-Preferences acadApp))
   (setq acadPrefFiles (vla-get-Files acadPrefs))
   (setq hlpFile (vla-Get-HelpFilePath acadPrefFiles))
   (startapp "winhlp32" hlpFile)
   (princ)
)
(princ "\nStartApp2 is loaded, Type (StartApp2) to Run.")
(princ)

ただし、StartApp2 を独自の名前空間 VLX としてコンパイルしてから、この関数を呼び出そうとすると、次のようなエラー メッセージが表示されます。

"関数定義がありません: STARTAPP"

このエラーを修正するには、次の修正コードのように、vl-arx-import 関数を使用してstartapp を読み込みます。

(vl-doc-export 'StartApp2)
(vl-load-com)
(vl-arx-import 'startapp)
(defun StartApp2 ()
   (setq acadApp (vlax-get-acad-object)
)