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

22 visualizaciones (últimos 30 días)
Kenneth
Kenneth el 2 de Feb. de 2024
Comentada: Kenneth el 6 de Feb. de 2024
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)

Alberto Cuadra Lara
Alberto Cuadra Lara el 2 de Feb. de 2024
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
Alberto Cuadra Lara
Alberto Cuadra Lara el 3 de Feb. de 2024
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
Kenneth
Kenneth el 6 de Feb. de 2024
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 Help Center y File Exchange.

Etiquetas

Productos


Versión

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by