[Guide] Pass a variable between two functions using handles.
11 次查看(过去 30 天)
显示 更早的评论
Hello Everyone,
I am incurring error in passing a variable between two functions.
In 1st Function (PushButton):
Where variable (myTable_Selection) is present. i have done following:
myTable_Final.handles = myTable_Selection
guidata(hObject, handles)
But I am unable to recall this variable in another function (PushButton).
myTable_Final = myTable_Final.handles; % Line 515
Error is:
Undefined function or variable 'myTable_Final'.
Error in PFT_GUI>exp_selected_Callback (line 515)
myTable_Final = myTable_Final.handles;
Error in gui_mainfcn (line 95)
feval(varargin{:});
Error in PFT_GUI (line 42)
gui_mainfcn(gui_State, varargin{:});
Error in
matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)PFT_GUI('exp_selected_Callback',hObject,eventdata,guidata(hObject))
Error while evaluating UIControl Callback.
Note: I am able to pass all other variables except this myTable_Selection.
Any help would be appreciated :-)
Regard,s
Waqar Ali Memon
1 个评论
Ta Hai
2024-10-27,4:51
It shoule be
handles.myTable_Final = myTable_Selection
guidata(hObject, handles)
采纳的回答
Steven Lord
2019-8-14
Each callback function has its own workspace, separate from the rest. Creating a variable in one doesn't automatically create it in others. To share data between those workspaces use one of the techniques illustrated on this documentation page.
The technique you attempted:
myTable_Final.handles = myTable_Selection
guidata(hObject, handles)
looks like the "Store Data Using the guidata Function" approach, but your first line did not affect the handles struct in the workspace of that callback. Something like this should work and should allow you to access the selection in the other callback function's workspace using handles.Selection:
handles.Selection = myTable_Selection;
guidata(hObject, handles)
更多回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Migrate GUIDE Apps 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!