COM エラー メッセージにおける引数コールアウトの解釈
MATLAB® クライアントが無効な引数をもつコマンドを COM サーバー アプリケーションに送信すると、サーバーはエラー メッセージを次のような形式で送り返します。
??? Error: Type mismatch, argument n.
ドット構文形式を使用しない場合、このメッセージの引数番号の解釈には注意が必要です。
たとえば、ドット構文を使用して以下を入力します。
handle.PutFullMatrix('a','base',7,[5 8]);
MATLAB に以下のように表示されます。
??? Error: Type mismatch, argument 3.
この場合、引数 7
は無効です。これは、関数 PutFullMatrix
が 3 番目の引数にはスカラーではなく配列のデータ型を想定しているためです。この例では、エラー メッセージは 7
を argument 3
と示しています。
ただし、以下の構文を使用する場合、
PutFullMatrix(handle,'a','base',7,[5 8]);
MATLAB に以下のように表示されます。
??? Error: Type mismatch, argument 3.
この関数 PutFullMatrix
の呼び出しにおいて、7
は引数 4 です。ただし、COM サーバーは最初の引数を受け取りません。handle
引数はサーバーを特定するだけです。この引数はサーバーに渡されません。サーバーは 'a'
を最初の引数として、また、無効な引数 7
を 3 番目の引数として読み取ります。