如何在执行 matlab 独立应用程序时修复错误?

How do I fix bugs while executing matlab standalone applications?

你好 Whosebug 社区,

我目前正在尝试将 Matlab 应用程序创建为独立应用程序。在 Matlab 中,程序 运行 通过 GUI 运行良好,但是,一旦我在桌面上安装应用程序并 运行 它,我就会收到以下错误消息输出到命令 window:

  1. 使用 dicom_getFileDetails 时出错(第 14 行) 无法加载文件“RE.#_STR_IMG.REGISTRATION.dcm”。
  2. dicominfo 错误(第 55 行)
  3. Apply_Registration/ApplyRegistrationButtonPushed 中的错误(第 64 行)
  4. appdesigner.internal.service.AppManagementService/tryCallback 错误(第 333 行)
  5. 错误 matlab.apps.AppBase>@(source,event)tryCallback(appdesigner.internal.service.AppManagementService.instance(),app,callback,requiresEventData,event)(第 35 行)
  6. 使用 matlab.ui.control.internal.controller.ComponentController/executeUserCallback 时出错(第 335 行) 评估按钮 PrivateButtonPushedFcn 时出错。

代码: 1+2)

    % Button pushed function: OpenRegistrationFileButton
      function OpenRegistrationFileButtonPushed(app, event)
        
        % Open registration file
        app.File_registrationFile = uigetfile;
      end
  1.  reginfo = dicominfo(app.File_registrationFile);
    

当 运行ning 作为独立应用程序时有什么问题?

Matlab Runtime Compiler 与我的 Matlab 版本匹配。不幸的是,我缺乏在这里前进的专业知识。

任何帮助将不胜感激!

您目前仅输出来自 uigetfile (docs) 的文件名,因此该文件的后续使用假定它与正在执行的应用程序位于同一文件夹中。这可能不是这种情况,因此无法加载文件的错误(因为它不存在)。

你只需要更明确一点,也获取路径并引用完整的文件路径,而不仅仅是名称

[file,path] = uigetfile;
app.File_registrationFile = fullfile( path, file );