how to ensure that a functions has finished GUI

3 views (last 30 days)
Hi, I have the an issue on my GUI environment with a a slider (e.g. slider_myslider), which calls a callback function everytime is being moved, e.g.
function slider_myslider_Callback(hObject,eventdata,handles)
disp('start');
myfunction()
disp('stop');
end
function myFunction()
disp('myFunction');
"wait 10sec"
end
Every time I move the silder the above callback functions is called. I press it two time what I'm going to get is:
start
start
stop
stop
However what I would like to have is
start
myFunction
stop
start
myFunction
stop
At the beginning I thought it had to do with multithreading, however I think it has to do with the fact that the call of myFunction is not asynchronous. Any suggestions?

Accepted Answer

Symeon Mattes
Symeon Mattes on 14 Aug 2012
Actually it wasn't BusyAction, but you helped me to check it further. BusyAction was already 'queue'. I had to change Interruptible to 'off'.

More Answers (1)

Walter Roberson
Walter Roberson on 14 Aug 2012
Set the BusyAction of the slider to 'queue'

Categories

Find more on Interactive Control and Callbacks in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!