Интерпретация фрагментов аргументов в COM- Сообщений об ошибке

Когда MATLAB® клиент отправляет команду с недопустимым аргументом в приложение COM-сервера, сервер отправляет назад сообщение об ошибке в следующем формате.

??? Error: Type mismatch, argument n.

Если вы не используете формат синтаксиса точки, будьте осторожны в интерпретации номера аргумента в этом сообщении.

Для примера, используя синтаксис точки, если вы вводите:

handle.PutFullMatrix('a','base',7,[5 8]);

MATLAB отображает:

??? Error: Type mismatch, argument 3.

В этом случае аргумент, 7, недопустимо, поскольку PutFullMatrix ожидает, что третий аргумент будет типом данных массива, а не скаляром. В этом примере сообщение об ошибке идентифицирует 7 как argument 3.

Однако, если вы используете синтаксис:

PutFullMatrix(handle,'a','base',7,[5 8]);

MATLAB отображает:

??? Error: Type mismatch, argument 3.

При этом вызове на PutFullMatrix функция, 7 - аргумент четыре. Однако COM-сервер не получает первый аргумент. The handle аргумент просто определяет сервер. Он не передается серверу. Сервер читает 'a' в качестве первого аргумента и недопустимого аргумента, 7, как третий.

Похожие темы