Main Content

COM メソッド

メソッドの情報

COM オブジェクトに属する COM 関数またはメソッドを実行するか "呼び出し" ます。メソッド名は大文字と小文字が区別されます。これらを短縮することはできません。

COM オブジェクトでサポートされているメソッドを表示するには、次のいずれかの関数を使用します。各関数は、以下の表で説明するような特定の情報を示します。メソッドの使用についての詳細は、ベンダーのドキュメンテーションを参照してください。

関数出力

methodsview

関数名およびシグネチャのグラフィカル表示

-full 修飾子をもつ methods

アルファベット順に並べ替えられた関数名およびシグネチャの cell 配列

methods

アルファベット順で大文字の名前が最初にリストされる関数名のみの cell 配列

invoke

関数名およびシグネチャの cell 配列

オブジェクト メソッドの呼び出し

MATLAB® では、オブジェクトでのメソッド呼び出しに次の構文をサポートしています。

  • メソッド名:

    outputvalue = methodname(object,'arg1','arg2',...);
  • ドット表記:

    outputvalue = object.methodname('arg1','arg2',...);
    
  • 明示的な構文の使用:

    outputvalue = invoke(object,'methodname','arg1','arg2',...);
    

methodsview コマンドおよび methods -full コマンドは、入力引数と出力引数に使用するデータ型を表示します。

以下の状況ではドット構文を使用できず、関数 get、関数 set および関数 invoke を明示的に呼び出さなければなりません。

  • オブジェクト クラスのパブリック メンバーではないプロパティまたはメソッドにアクセスする場合。

  • サーバーのタイプ ライブラリにはないプロパティまたはメソッドにアクセスする場合。

  • 引数を取るプロパティにアクセスする場合。MATLAB はこうしたプロパティをメソッドのように扱います。

  • オブジェクトのベクトルにあるプロパティにアクセスする場合は、関数 get および関数 set を使用します。

    関数 invoke を明示的に呼び出しても、複数の COM オブジェクトでメソッドを呼び出すことはできません。

列挙パラメーターの指定

列挙型は、説明的な名前をシンボリック値に割り当てる方法です。MATLAB は、使用中のタイプ ライブラリによってパラメーターが ENUM で、かつ ENUM のみとして報告される場合に、メソッドに渡されるパラメーターの列挙型をサポートします。

メモ

MATLAB は、タイプ ライブラリが ENUMOptional の両方として報告する任意のパラメーターの列挙型をサポートしません。

オプションの入力引数のスキップ

オプションの入力引数を取るメソッドを呼び出す場合、引数の位置に空配列 ([]) を指定してオプションの引数をスキップすることができます。たとえば、2 番目の引数 arg2 を指定せずにメソッドを呼び出す構文は、次のようになります。

methodname(handle,arg1,[],arg3);

複数の出力引数を返す

サーバー関数が複数の出力をサポートする場合、その出力のいずれかまたはすべてを MATLAB クライアントに返すことができます。

次の構文は、MATLAB クライアントによって呼び出されるサーバー関数 functionname を示します。retval は最初の出力引数、すなわち戻り値です。他の出力引数は、out1out2... です。

[retval out1 out2 ...] = functionname(handle,in1,in2,...);

MATLAB は、COM の参照渡し機能を使用してこの機能を実装します。参照渡しは COM の機能です。MATLAB は参照渡しをサポートしていません。

関連する例

詳細