How check in App Designer if a secondary App is already open?

9 visualizaciones (últimos 30 días)
Eros
Eros el 27 de Jun. de 2024
Comentada: Eros el 28 de Jun. de 2024
Hello,
in App Designer I have two Apps: a MainApp and a SecondaryApp.
I set a PushButton1 in the MainApp that calls the SecondaryApp, opens it, here I set the parameters I want and, by pressing a PushButton2 (in the secondary app), I close the SecondaryApp and send the chosen parameters to the MainApp.
How can I check inside MainApp if the SecondaryApp is already open and close it?
Because now I risk opening the SecondaryApp multiple times.
The problem is that when I work in the MainApp I have no visibility on the secondary and, furthermore, I cannot simply disable the PushButton1 with which I call the secondary in the MainApp because the button would remain deactivated when I manually close the SecondaryApp window without using the PushButton2 for sending parameters.
Thanks

Respuesta aceptada

Eros
Eros el 28 de Jun. de 2024
Solved! searching through the settings, I discovered that it is possible to set directly in App Designer the unique instance for each single App: this therefore allows you not to open the same App multiple times, but to have only one App (Secondary App, in my case) open.
Exactly what I was looking for, simply by enabling a check box in settings.
Here is what to do for those who find themselves in the same problem as me:

Más respuestas (1)

Matlab Pro
Matlab Pro el 27 de Jun. de 2024
Here is a simple function I have created a simple function that can help you
function hApp = getapp(appName)
hApp = [];
hFigs = findall(0,'type','figure');
if ~isempty(hFigs)
idx = ismember({hFigs.Name},appName);
hApp = hFigs(idx);
end
You call it with an app name (as apeared on teh main figure.
If it is NOT up - it will renturn an empty handle
Otherwise - it will return a handle to this app
Examples:
hApp = getapp('SecondaryApp')
or...
hApp = getapp('MATLAB App')
hApp =
Figure (MATLAB App) with properties:
Number: []
Name: 'MATLAB App'
Color: [0.9400 0.9400 0.9400]
Position: [100 100 640 480]
Units: 'pixels'
Hope this helps..
  2 comentarios
Matlab Pro
Matlab Pro el 27 de Jun. de 2024
well. I have uploaded a little improved version to the XExchange server
Eros
Eros el 28 de Jun. de 2024
Hello, thank you very much for the good trick.
However, searching through the settings, I discovered that it is possible to set directly in App Designer the unique instance for each single App: this therefore allows you not to open the same App multiple times, but to have only one App (Secondary App, in my case) open.
Exactly what I was looking for, simply by enabling a check box in settings.
I added a comment with the screenshot of the setting

Iniciar sesión para comentar.

Categorías

Más información sobre Develop Apps Using App Designer en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by