How do you output App data to a calling function?

2 visualizaciones (últimos 30 días)
Chris Nemecek
Chris Nemecek el 20 de Jul. de 2018
Comentada: Chris Nemecek el 31 de Jul. de 2018
I have a function/script that calls an instance of an App I created in AppDesigner. How do I get the App to return data to the function/script upon closing the App?
hApp = selectFiles_v0000; % call to open App within the function/script
importInfo(hApp,trajectoryDirectory,'.nc') % necessary to import function data into the App since I only have Matlab 2016b and do not have the ability to have a StartUpFcn with inputs
uiwait(hApp.selectFiles);
% need to have data from the App available in the function/script at this point

Respuesta aceptada

crixstox
crixstox el 23 de Jul. de 2018
I had a similar probelm and made the following work around.
  1. In the calling function replace 'uiwait(hApp.selectFiles)' with 'uiwait(hApp.UIFigure)'
  2. Generate a button called 'close' in the app and add a callback involving uiresume(app.UIFigure).
  3. Read out the needed data in the calling function (usually with hApp.<name>.Value).
  4. If the app interface is no longer needed call additionally 'hApp.delete'.
I hope this helps.
  1 comentario
Chris Nemecek
Chris Nemecek el 31 de Jul. de 2018
That would seem to work. However, I ended up just using setappdata in the App and getappdata in the calling function.
In the App:
setappdata(0,'var1',var1)
In the calling function:
var1 = getappdata(0,'var1)

Iniciar sesión para comentar.

Más respuestas (0)

Productos


Versión

R2016b

Community Treasure Hunt

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

Start Hunting!

Translated by