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