Когда клиент 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-сервер не получает первый аргумент. handle аргумент просто идентифицирует сервер. Он не передается на сервер. Сервер читает 'a' в качестве первого аргумента и недопустимого аргумента, 7, как третий.