Когда 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, как третий.