概要 - ActiveX のメソッドまたはプロパティがオブジェクトに適用できるかどうかを調べる(AutoLISP/ActiveX)

指定したオブジェクトに適用されないメソッドやプロパティを使用したり参照すると、エラーが発生します。

注: AutoLISP での ActiveX のサポートは Windows のみに制限されています。

オブジェクトに適用できるメソッドやプロパティが明確でない場合は、vlax-method-applicable-p および vlax-property-available-p 関数を使用します。これらの関数は、メソッドまたはプロパティがオブジェクトに対して使用可能な場合は T を返し、使用できない場合は nil を返します。

vlax-method‑applicable‑p の構文は、次のとおりです。

(vlax-method-applicable-p object method)

次は、Copy メソッドが WhatsMyLine によって参照されているオブジェクトで使用できるかどうかを調べます。

(vlax-method-applicable-p WhatsMyLine "Copy")
T

次は、AddBox メソッドがオブジェクトで使用できるかどうかを調べます。

(vlax-method-applicable-p WhatsMyLine "AddBox")
nil

vlax-property‑available‑p の構文は、次のとおりです。

(vlax-property-available-p object property [T])

たとえば次は、ColorCenterWhatsMyLine のプロパティかどうかを調べます。

(vlax-property-available-p WhatsMyLine "Color")
T
(vlax-property-available-p WhatsMyLine "Center")
nil

省略可能な引数 Tvlax-property-available-p に指定すると、返される結果が変わります。この引数を指定すると、オブジェクトがプロパティを持ち、かつそのプロパティを変更できるときにのみ T が返されます。オブジェクトがそのようなプロパティを持たない場合やそのプロパティが読み込み専用の場合、vlax-property-available-pnil を返します。

たとえば、楕円には Area プロパティがありますが、そのプロパティは変更できません。省略可能な引数を指定しないでプロパティを調べると、結果は T になります。

(vlax-property-available-p myEllipse "Area")
T

省略可能な引数を指定すると、結果は nil になります。

(vlax-property-available-p myEllipse "Area" T)
nil