Unable to assign function handle to variable in specified workspace in app App Designer
6 views (last 30 days)
Show older comments
The idea is to call (STEP ONE) a figure that designed in app designer from an external function (i,e,TestFunc). The Figure equip with a push button . A new routine is execute whenever the push button is press (STEP TWO). For simplicity, the new routine responsible to assign (STEP THREE) the myVar with a value of 5. Ultimately, I want to assigns (STEP FOUR) the function handle myVar into the workspace of TestFunc using the assign in command. Once succesfully carrying the variable into the caller workspace, the fig will be deleted (STEP FIVE). Then, the NewVar will be assigned (STEP SIX) to equal to NewVar, at the TestFunc environment.
To achieve the following objective, the syntax for the TestFunc and fig of the app designer are;
Syntax of TestFunc
function TestFunc()
%% STEP ONE
fig=app1; % app1 is the name of the figure designed with app designer. With the extension of mlapp
waitfor(fig)
%% STEP SIX
NewVar=myVar;
end
Syntax of fig of the app designer
function ButtonPushed(app, event)
%% STEO TWO
%% Whenever, the pushbutton is pressed, go to this function %%
%% STEP THREE
myVar = 5;
%% STEP FOUR
assignin('caller','myVarX',myVar)
%% STEP FIVE
delete(app)
end %% POINTER ONE
However, MATLAB give the following error;
Unrecognized function or variable 'myVar'.
Error in newt (line 5)
NewVar=myVar;
Upon debugging, I notice myVar has been succesfully transfer to the caller environment just before STEP FIVE. But, at the exit of the ButtonPushed function (POINTER ONE), the myVar at caller environment was cleared.
Appreciate if someone can shed some light to address this problem.
0 Comments
Answers (1)
Walter Roberson
on 6 Mar 2020
The "caller" of callbacks is the top level MATLAB session, not the function that created the app.
You will need to find a different approach.
3 Comments
See Also
Categories
Find more on Whos 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!