Диагностические сообщения

Следующая таблица показывает диагностические сообщения, с которыми вы можете столкнуться, вероятные причины для сообщения и предложенные решения.

См. следующую таблицу для получения информации о некоторых диагностических сообщениях.

Диагностические сообщения и предложенные решения

СообщениеВероятная причинаПредложенное решение
LoadLibrary("component_name_1_0.dll") failed - The specified module could not be found.

Можно получить это сообщение об ошибке при регистрации DLL проекта от командной строки DOS. Это может произойти, если MATLAB® Runtime не находится на системном пути.

Смотрите отказ найти файлы MATLAB Runtime.

Error in component_name.class_name.x: Error getting data conversion flags.

Это часто вызывается mwcomutil.dll, не указываемым.

  1. Откройте окно DOS.

  2. Измените папки на matlabroot \runtime\architecture.

  3. Запустите следующую команду: mwregsvr mwcomutil.dll

(matlabroot является вашей корневой папкой MATLAB.)

Error in VBAProject: ActiveX component can't create object.
  • DLL проекта не указан.

  • Несовместимый DLL MATLAB существует где-нибудь на системном пути.

Если DLL не указан,

  1. Откройте окно DOS.

  2. Измените папки на projectdir \distrib.

  3. Запустите следующую команду: mwregsvr projectdll.dll

(projectdir представляет местоположение ваших файлов проекта).

object ref not set to instance of an object

Это происходит, когда объект, который не инстанцировали, называется

Инстанцируйте объекта.

Error in VBAProject: Automation error The specified module could not be found.

Это обычно происходит, если MATLAB не находится на системном пути.

Смотрите отказ найти файлы MATLAB Runtime.
Showing a modal dialog box or form when the application is not running in UserInteractive mode is not a valid operation. Specify the ServiceNotification or DefaultDesktopOnly style to display a notification from a service application.

Это предупреждение происходит, когда код ASP.NET пытается поднять диалоговое окно.

Если происходит, потому что getframe() делает окно рисунка видимым прежде, чем выполнить получение и таким образом перестал работать при выполнении в IIS. вызовы msgbox() в коде MATLAB вызывают предупреждение появиться также.

Работа вокруг этой проблемы путем выполнения следующего:

  1. Откройте Панель управления Windows Control Panel.

  2. Open Services.

  3. Из списка сервисов выберите и откройте сервис IIS Admin.

  4. В диалоговом окне Свойств, на вкладке Log On, выбирают Local System Account.

  5. Выберите опцию Allow Service to Interact with Desktop.

Расширенная Ошибочная Диагностика Используя Трассировку mstack

Используйте эту расширенную диагностическую функцию, чтобы диагностировать проблемы, которые происходят в частности во время подписания кода MATLAB.

Чтобы реализовать эту опцию, используйте обработку исключений.NET, чтобы вызвать функцию MATLAB в приложении.NET, как продемонстрировано в этом блоке try-catch кода:

try 
{ 
Magic magic = new Magic(); 
magic.callmakeerror(); 
} 
catch(Exception ex) 
{ 
Console.WriteLine("Error: {0}", exception); 
} 

Когда ошибка происходит, трассировка стека кода MATLAB распечатана перед трассировкой стека приложений Microsoft®.NET, можно следующим образом:

... MATLAB code Stack Trace ... 
    at 
file C:\work\MagicDemoCSharpApp\bin\Debug\
CalldmakeerrComp_mcr\compiler\g388611\ca 
thy\MagicDemoComp\dmakeerror.m,name 
dmakeerror_error2,line at 14. 
    at 
file C:\work\MagicDemoCSharpApp\bin\Debug\
CalldmakeerrComp_mcr\compiler\work\MagicDemoComp\dmakeerror.m,name 
dmakeerror_error1,line at 11. 
    at 
file C:\work\MagicDemoCSharpApp\bin\Debug\
CalldmakeerrComp_mcr\compiler\work\MagicDemoComp\dmakeerror.m,name dmakeerror,line at 4. 
    at 
file C:\work\MagicDemoCSharpApp\bin\Debug\
CalldmakeerrComp_mcr\compiler\work\MagicDemoComp\calldmakeerror.m,name 
calldmakeerror,line at 2. 

... .Application Stack Trace ... 
   at MathWorks.MATLAB.NET.Utility.MWMCR.EvaluateFunction
(String functionName, Int32 numArgsOut, Int 
32 numArgsIn, MWArray[] argsIn) 
   at MathWorks.MATLAB.NET.Utility.MWMCR.EvaluateFunction
(Int32 numArgsOut, String functionName, MWA 
rray[] argsIn) 
   at CalldmakeerrComp.Calldmakeerr.calldmakeerror() in 
C:\work\MagicDemoComp\src\ 
Calldmakeerr.cs:line 140 
   at MathWorks.Demo.MagicSquareApp.MagicDemoApp.Main(String[]
 args) in C:\work\Ma 
gicDemoCSharpApp\MagicDemoApp.cs:line 52