Интерпретация выносок аргумента в сообщениях об ошибке 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, как третье.

Похожие темы

Была ли эта тема полезной?