exponenta event banner

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

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

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

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

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

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

См. раздел Сбой при поиске файлов среды выполнения MATLAB.

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

Это часто вызвано mwcomutil.dll не регистрируется.

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

  2. Изменить папки на matlabroot\bin\win64.

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

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

Error in VBAProject: ActiveX component can't create object.
  • Библиотека 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.
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.

  2. Открыть службы.

  3. В списке служб выберите и откройте службу администрирования IIS.

  4. В диалоговом окне «Свойства» на вкладке «Вход» выберите «Локальная системная учетная запись».

  5. Выберите параметр Разрешить взаимодействие службы с рабочим столом.

Расширенная диагностика ошибок с использованием трассировки стека

Эта расширенная функция диагностики используется для устранения неполадок, возникающих в процессе выполнения кода 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