Upgrade to MATLAB 2017a causes App Designer app to fail

2 Ansichten (letzte 30 Tage)
Matt J Dunn
Matt J Dunn am 16 Aug. 2017
Kommentiert: Yotam Federman am 27 Jul. 2020
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 Kommentare
Nicolas Pipard
Nicolas Pipard am 7 Jan. 2020
It's nice to advice to contact tech support. But it would also be good to have a bit of info about why we are getting that error...
Is it a bug? is it something we changed in the configuration... which should not be allowed?
Yotam Federman
Yotam Federman am 27 Jul. 2020
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?

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Kategorien

Mehr zu App Building finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by