Upgrade to MATLAB 2017a causes App Designer app to fail

조회 수: 3(최근 30일)
Matt J Dunn
Matt J Dunn 2017년 8월 16일
댓글: Yotam Federman 2020년 7월 27일
I have a .mlapp file created in MATLAB 2016b, where it works without any errors. This same .mlapp file can be run in MATLAB 2017a. However, I can't make any changes to the app in MATLAB 2017a, as the App Designer prompts me to use the 'Save As...' function to upgrade the app first.
If I try to use 'Save As...', the following error message appears:
Expected input to be one of these types:
appdesigner.internal.codegeneration.model.CodeData
Instead its type was struct.
I can't get past this message to save the app - and so I am forced to continue using version 2016b. I've tried removing all of the GUI contents and deleting all of the calls and functions within the code, but I still cannot save the app in 2017a.
What could cause this? At the same time as the message appears within the App Designer, the following error appears in the MATLAB console window:
Warning: The following error was caught while executing
'appdesigner.internal.application.InspectorWorkspace' class destructor:
Cell contents reference from a non-cell array object.
Error in internal.matlab.inspector.peer.InspectorFactory (line 73)
n = n{end};
Error in internal.matlab.inspector.peer.InspectorFactory.getInstance (line 318)
internal.matlab.inspector.peer.InspectorFactory;
Error in appdesigner.internal.application.InspectorWorkspace/delete (line 48)
inspectorFactory =
internal.matlab.inspector.peer.InspectorFactory.getInstance();
Error in appdesigner.internal.application.InspectorWorkspace (line 31)
function obj = InspectorWorkspace(uiFigureHandle, workspaceKey)
Error in appdesigner.internal.model.AppModel/set.UIFigure (line 136)
obj.InspectorWorkspace =
appdesigner.internal.application.InspectorWorkspace(newUIFigure,
workspaceKey);
Error in appdesigner.internal.componentmodel.DesignTimeComponentFactory/createComponent (line 87)
parentModel.UIFigure = component;
Error in appdesigner.internal.componentmodel.DesignTimeComponentFactory/createModel (line 17)
component = DesignTimeComponentFactory.createComponent(componentType, parentModel,
peerNode);
Error in appdesigner.internal.model.AppChildModelFactory/createModel (line 17)
factory.createModel(...
Error in
appdesservices.internal.interfaces.controller.DesignTimeParentingController/processClientCreatedPeerNode
(line 146)
child = obj.Factory.createModel(obj.getModel(),peerNode);
Error in appdesservices.internal.interfaces.controller.DesignTimeParentingController/processProxyView
(line 122)
obj.processClientCreatedPeerNode(childPeerNode);
Error in appdesservices.internal.interfaces.controller.DesignTimeParentingController (line 52)
obj.processProxyView();
Error in appdesservices.internal.interfaces.controller.AppDesignerParentingController (line 10)
obj =
obj@appdesservices.internal.interfaces.controller.DesignTimeParentingController(varargin{:});
Error in appdesigner.internal.controller.AppController (line 17)
obj =
obj@appdesservices.internal.interfaces.controller.AppDesignerParentingController(factory);
Error in appdesigner.internal.model.AppModel/createController (line 622)
controller = appdesigner.internal.controller.AppController(obj, parentController,
proxyView);
Error in appdesigner.internal.model.AppModel (line 103)
obj.createController(obj.AppDesignerModel.Controller, proxyView);
Error in appdesigner.internal.model.AppDesignerChildModelFactory/createModel (line 27)
model = appdesigner.internal.model.AppModel(parentModel, proxyView, appData);
Error in
appdesservices.internal.interfaces.controller.DesignTimeParentingController/processClientCreatedPeerNode
(line 146)
child = obj.Factory.createModel(obj.getModel(),peerNode);
Error in
appdesservices.internal.interfaces.controller.DesignTimeParentingController/handlePeerNodeAdded (line
199)
obj.processClientCreatedPeerNode(peerNode);
Error in
appdesservices.internal.interfaces.controller.DesignTimeParentingController>@(varargin)obj.handlePeerNodeAdded(varargin{:})
(line 103)
obj.ChildAddedListener = addlistener(obj.ProxyView.PeerNode,'childAdded',
@obj.handlePeerNodeAdded);
Error in hgfeval (line 62)
feval(fcn{1},varargin{:},fcn{2:end});
Error in javaaddlistener>cbBridge (line 52)
hgfeval(response, java(o), e.JavaEvent)
Error in javaaddlistener>@(o,e)cbBridge(o,e,response) (line 47)
@(o,e) cbBridge(o,e,response));
> In appdesigner.internal.application.InspectorWorkspace (line 31)
In appdesigner.internal.model.AppModel/set.UIFigure (line 136)
In appdesigner.internal.componentmodel.DesignTimeComponentFactory/createComponent (line 87)
In appdesigner.internal.componentmodel.DesignTimeComponentFactory/createModel (line 17)
In appdesigner.internal.model.AppChildModelFactory/createModel (line 17)
In appdesservices.internal.interfaces.controller.DesignTimeParentingController/processClientCreatedPeerNode (line 146)
In appdesservices.internal.interfaces.controller.DesignTimeParentingController/processProxyView (line 122)
In appdesservices.internal.interfaces.controller.DesignTimeParentingController (line 52)
In appdesservices.internal.interfaces.controller.AppDesignerParentingController (line 10)
In appdesigner.internal.controller.AppController (line 17)
In appdesigner.internal.model.AppModel/createController (line 622)
In appdesigner.internal.model.AppModel (line 103)
In appdesigner.internal.model.AppDesignerChildModelFactory/createModel (line 27)
In appdesservices.internal.interfaces.controller.DesignTimeParentingController/processClientCreatedPeerNode (line 146)
In appdesservices.internal.interfaces.controller.DesignTimeParentingController/handlePeerNodeAdded (line 199)
In appdesservices.internal.interfaces.controller.DesignTimeParentingController>@(varargin)obj.handlePeerNodeAdded(varargin{:}) (line 103)
In hgfeval (line 62)
In javaaddlistener>cbBridge (line 52)
In javaaddlistener>@(o,e)cbBridge(o,e,response) (line 47)
Cell contents reference from a non-cell array object.
Error in internal.matlab.inspector.peer.InspectorFactory (line 73)
n = n{end};
Error in internal.matlab.inspector.peer.InspectorFactory.getInstance (line 318)
internal.matlab.inspector.peer.InspectorFactory;
Error in appdesigner.internal.application.InspectorWorkspace (line 39)
inspectorFactory =
internal.matlab.inspector.peer.InspectorFactory.getInstance();
Error in appdesigner.internal.model.AppModel/set.UIFigure (line 136)
obj.InspectorWorkspace =
appdesigner.internal.application.InspectorWorkspace(newUIFigure,
workspaceKey);
Error in appdesigner.internal.componentmodel.DesignTimeComponentFactory/createComponent (line 87)
parentModel.UIFigure = component;
Error in appdesigner.internal.componentmodel.DesignTimeComponentFactory/createModel (line 17)
component = DesignTimeComponentFactory.createComponent(componentType, parentModel,
peerNode);
Error in appdesigner.internal.model.AppChildModelFactory/createModel (line 17)
factory.createModel(...
Error in
appdesservices.internal.interfaces.controller.DesignTimeParentingController/processClientCreatedPeerNode
(line 146)
child = obj.Factory.createModel(obj.getModel(),peerNode);
Error in appdesservices.internal.interfaces.controller.DesignTimeParentingController/processProxyView
(line 122)
obj.processClientCreatedPeerNode(childPeerNode);
Error in appdesservices.internal.interfaces.controller.DesignTimeParentingController (line 52)
obj.processProxyView();
Error in appdesservices.internal.interfaces.controller.AppDesignerParentingController (line 10)
obj =
obj@appdesservices.internal.interfaces.controller.DesignTimeParentingController(varargin{:});
Error in appdesigner.internal.controller.AppController (line 17)
obj =
obj@appdesservices.internal.interfaces.controller.AppDesignerParentingController(factory);
Error in appdesigner.internal.model.AppModel/createController (line 622)
controller = appdesigner.internal.controller.AppController(obj, parentController,
proxyView);
Error in appdesigner.internal.model.AppModel (line 103)
obj.createController(obj.AppDesignerModel.Controller, proxyView);
Error in appdesigner.internal.model.AppDesignerChildModelFactory/createModel (line 27)
model = appdesigner.internal.model.AppModel(parentModel, proxyView, appData);
Error in
appdesservices.internal.interfaces.controller.DesignTimeParentingController/processClientCreatedPeerNode
(line 146)
child = obj.Factory.createModel(obj.getModel(),peerNode);
Error in
appdesservices.internal.interfaces.controller.DesignTimeParentingController/handlePeerNodeAdded (line
199)
obj.processClientCreatedPeerNode(peerNode);
Error in
appdesservices.internal.interfaces.controller.DesignTimeParentingController>@(varargin)obj.handlePeerNodeAdded(varargin{:})
(line 103)
obj.ChildAddedListener = addlistener(obj.ProxyView.PeerNode,'childAdded',
@obj.handlePeerNodeAdded);
Error in hgfeval (line 62)
feval(fcn{1},varargin{:},fcn{2:end});
Error in javaaddlistener>cbBridge (line 52)
hgfeval(response, java(o), e.JavaEvent)
Error in javaaddlistener>@(o,e)cbBridge(o,e,response) (line 47)
@(o,e) cbBridge(o,e,response));
Warning: Error occurred while evaluating listener callback.
  댓글 수: 3
Yotam Federman
Yotam Federman 2020년 7월 27일
Still has the same problem, using 2020a update 4. I saw somewhere else that placing a UITable in a GridLayout might be buggy, which might be the cause - is there any workaround for that?

댓글을 달려면 로그인하십시오.

답변(0개)

범주

Find more on Migrate GUIDE Apps in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by