Следующая таблица показывает диагностические сообщения, с которыми вы можете столкнуться, вероятные причины для сообщения и предложенные решения.
См. следующую таблицу для получения информации о некоторых диагностических сообщениях.
Диагностические сообщения и предложенные решения
| Сообщение | Вероятная причина | Предложенное решение |
|---|---|---|
LoadLibrary (" | Можно получить это сообщение об ошибке при регистрации DLL проекта от командной строки DOS. Это может произойти если MATLAB® Время выполнения не находится на системном пути. | Смотрите отказ найти файлы 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