How to invoke a matlab.apps.AppBase based class without App Designer?

My App Designer app takes impossibly long to save (20 to 30 seconds) every time I want to do a test run. So I'm trying a different strategy: once and for all, copy all the code out of the app designer code view and make a .m file of it. Then run that. Unfortunately, this simply defines the class and then exits. It does not create a window or run the class within that window.
Can this work? Is there some way I can make a stub of a main program that invokes my app class in this fashion?

Respuestas (1)

Hi Kenneth,
I think that should work. Have you saved the *.m file with the same name as the *.mlapp? Otherwise you should rename classdef accordingly, as well as the name of the construct app function, namely
classdef newAppName < matlab.apps.AppBase
% Your app
% App creation and deletion
methods (Access = public)
% Construct app
function app = newAppName
end
% Delete app
end
end

3 comentarios

I still don't understand what I need to say to INVOKE this class, to make it do something. Where will I put the first line of code that gets run?
Let's consider your mlapp file was oldAppName.mlapp, in that case the class name will be oldAppName, namely
classdef oldAppName < matlab.apps.AppBase
and the constructor line will have the same oldAppName reference.
If you copy-paste your code from AppDesigner to a newAppName.m file, you have to modify the class name and the constructor accordingly, as I indicated in the previous comment.
I hope this help.
Best,
Alberto
You are still missing my question. Where is the first line of code that gets run when I run this app? Is it the app constructor? I can see where the .mlapp file DEFINES the app class, but what INSTANTIATES it?

Iniciar sesión para comentar.

Categorías

Más información sobre Develop Apps Using App Designer en Centro de ayuda y File Exchange.

Productos

Versión

R2023b

Etiquetas

Preguntada:

el 2 de Feb. de 2024

Comentada:

el 6 de Feb. de 2024

Community Treasure Hunt

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

Start Hunting!

Translated by