指定したオブジェクトに適用されないメソッドやプロパティを使用したり参照すると、エラーが発生します。
オブジェクトに適用できるメソッドやプロパティが明確でない場合は、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])
たとえば次は、Color と Center が WhatsMyLine のプロパティかどうかを調べます。
(vlax-property-available-p WhatsMyLine "Color") T (vlax-property-available-p WhatsMyLine "Center") nil
省略可能な引数 T を vlax-property-available-p に指定すると、返される結果が変わります。この引数を指定すると、オブジェクトがプロパティを持ち、かつそのプロパティを変更できるときにのみ T が返されます。オブジェクトがそのようなプロパティを持たない場合やそのプロパティが読み込み専用の場合、vlax-property-available-p は nil を返します。
たとえば、楕円には Area プロパティがありますが、そのプロパティは変更できません。省略可能な引数を指定しないでプロパティを調べると、結果は T になります。
(vlax-property-available-p myEllipse "Area") T
省略可能な引数を指定すると、結果は nil になります。
(vlax-property-available-p myEllipse "Area" T) nil