Vla-getinterfaceobject

提供:GizmoLabs - だいたい CAD LISP なサイト
構文
(vla-getinterfaceobject vla-object ProgID)


機能
プログラム ID を受け取り、それを インプロセス サーバーとして CAD にロードを試みる。


引数
  • vla-object … Application の VLA オブジェクト
  • ProgID … インタフェース オブジェクトのプログラム ID


戻り値
ProgID のVLAオブジェクト
  • 注記: オブジェクトが CAD にロードされても、タイプ ライブラリには表示されない。オブジェクトには独自のタイプ ライブラリがある。このメソッドにより ActiveX オートメーション サーバに接続できる。
  • 可能な場合は、バージョン依存 ProgID を使用する。 GetInterfaceObject メソッドがバージョンに依存しない ProgID を使用している場合は、バージョン依存 ProgID を使用するようにメソッドを変更する事が推奨される。

ex.たとえば、AutoCAD.AcadLayerStateManager を AutoCAD.AcadLayerStateManager.18 に。


サンプル

(defun gz:explorer ( Dir / Shell result )
  (vl-load-com)
  (setq Shell  (vla-getInterfaceObject (vlax-get-acad-object) "Shell.Application"))

  (setq result (vl-catch-all-apply 'vlax-invoke (list Shell 'Explore Dir)))
  (vlax-release-object Shell)

  (not (vl-catch-all-error-p result))
)


関連事項