exponenta event banner

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

Связанные темы