I have searched around for the best practice to pass an app variable back to the calling app. For example, app1 is the main app and calls app2. I can easily pass variables into app2 via h = app2(a, b) when I run it from app1. However, I would like to pass back a and b to the calling app when app2 is closed. I have been using setappdata and getappdata, but don't believe this is technically the right approach.
app1 pseudocode:
function ButtonPress(app)
a = 5;
b = 10;
h = app2(a,b); % app2 modifies a and b
uiwait(h.UIFigure)
% at this point when app2 is closed, i want a and b returned to app1
end

 Respuesta aceptada

Mohammad Sami
Mohammad Sami el 28 de Abr. de 2020

0 votos

Please refer to the following documentation on how to pass data between appdesigner apps.
https://www.mathworks.com/help/matlab/creating_guis/creating-multiwindow-apps-in-app-designer.html

3 comentarios

Chris Nemecek
Chris Nemecek el 29 de Abr. de 2020
I see that the suggested solution is to use a public function defined in app1 and called in app2 to set some private properties of app1.
Is this equivalent to the above: defining a public property in app1, passing in an instance of app1 upon startup of app2, and setting the public property of app1 within app2?
Is one approach better than the other?
Mohammad Sami
Mohammad Sami el 30 de Abr. de 2020
The second approach will work as well.
In my opinion using a function to update the properties may be preferable in certain cases.
Example if you want the change to be reflected in the UI in any way. The function can execute additional code to update the UI in addition to setting the properties.
A function can also do validation checks e.t.c.
Chris Nemecek
Chris Nemecek el 30 de Abr. de 2020
Those are good points. Thank you.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre MATLAB Support Package for IP Cameras en Centro de ayuda y File Exchange.

Productos

Versión

R2018b

Preguntada:

el 27 de Abr. de 2020

Comentada:

el 30 de Abr. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by