Следующая таблица показывает диагностические сообщения, с которыми вы можете столкнуться, вероятные причины для сообщения и предложенные решения.
См. следующую таблицу для получения информации о некоторых диагностических сообщениях.
Диагностические сообщения и предложенные решения
Сообщение | Вероятная причина | Предложенное решение |
---|---|---|
LoadLibrary (" | Можно получить это сообщение об ошибке при регистрации DLL проекта от командной строки DOS. Это может произойти, если MATLAB® Runtime не находится на системном пути. | Смотрите отказ найти файлы MATLAB Runtime. |
Ошибка в | Это часто вызывается |
|
Error in VBAProject: ActiveX component can't create object. |
| Если DLL не указан,
( |
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 пытается поднять диалоговое окно. Если происходит потому что | Работа вокруг этой проблемы путем выполнения следующего:
|
Используйте эту расширенную диагностическую функцию, чтобы диагностировать проблемы, которые происходят в частности во время подписания кода 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