Pause and restart when my app finished

5 Ansichten (letzte 30 Tage)
Alessandro Alberico
Alessandro Alberico am 28 Mär. 2019
Beantwortet: Marc Youcef am 4 Nov. 2020
How can I pause the matlab script until I've closed a matlab app?
In my case, I've an app that serves to select the input of my calculations, but while I'm choosing the input the script continues to run. I need to suspend the script until the user has finished to select the input.
What can I do?
  3 Kommentare
Alessandro Alberico
Alessandro Alberico am 29 Mär. 2019
My script in matlab is this
d=fopen('nomi piattaforme.txt');
c=textscan(d,'%s','Delimiter',',');
run scelta.mlapp
a=1;
...
In the app, the lines the make it close are:
% Button pushed function: ConfermaButton
function ConfermaButtonPushed(app, event)
assignin('base','producer',app.Prod_selection.Value)
assignin('base','panel',app.Panel_selection.Value);
assignin('base','platform',app.Platform_selection.Value);
delete(app.Selezione)
end
In 'scelta.mlapp' the user must choose through 3 dropdown menu the parameters that I need for the next steps. Actually, I haven't write my complete code yet, but, anyway I need to get the three outputs before 'a=1'.
e.g.: once, in the script, I tried to use one of these parameters some lines below, and it gave me an error saying that 'panel' was not defined yet, beacuse it actually doesn't exist yet, I haven't yet chosen the parameter from the app.
I hope that it is clearer
Alessandro Alberico
Alessandro Alberico am 29 Mär. 2019
Bearbeitet: Alessandro Alberico am 29 Mär. 2019
Now I tried to use a 'flag' in this way, and it's quite satisfying:
flag=0;
d=fopen('nomi piattaforme.txt');
c=textscan(d,'%s','Delimiter',',');
run scelta.mlapp
while flag==0
pause(5);
end
a=1
And at the end of the app I assigned to 'flag' the value 1 with "assignin".
Maybe it is not the smartest way, but it works enough...

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Marc Youcef
Marc Youcef am 4 Nov. 2020
There is indeed cleaner way, as explained here:
my_app_handle = my_app;
uiwait(my_app_handle.UIFigure_property)
disp("hello")
hello

Kategorien

Mehr zu Develop Apps Using App Designer finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by