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

10 vues (au cours des 30 derniers jours)
Eros
Eros le 27 Juin 2024
Commenté : Eros le 28 Juin 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

Réponse acceptée

Eros
Eros le 28 Juin 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:

Plus de réponses (1)

Matlab Pro
Matlab Pro le 27 Juin 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 commentaires
Matlab Pro
Matlab Pro le 27 Juin 2024
well. I have uploaded a little improved version to the XExchange server
Eros
Eros le 28 Juin 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

Connectez-vous pour commenter.

Catégories

En savoir plus sur Develop Apps Using App Designer dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by