Pause and restart when my app finished

12 次查看(过去 30 天)
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 个评论
Alessandro Alberico
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 2019-3-29
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...

请先登录,再进行评论。

回答(1 个)

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

类别

Help CenterFile Exchange 中查找有关 Develop Apps Using App Designer 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by