Reading from GUI edit boxes using a self made function
2 views (last 30 days)
Show older comments
Hello!
I'm creating a GUI application which contains, among other things, several edit boxes tagged joint1 through joint7. Since I don' want to have to read separately from each of them every time, I created a read function. First I defined a variable from which they'd be called in the main program:
internal_coord=['joint1';'joint2';'joint3';'joint4';'joint5';'joint6';'joint7']
and the function as:
function status=read(object)
k=size(object);
d=k(2);
k=k(1);
for i=0:k-1
adr=object(i+1,1:d);
status(i+1)=str2num(get(handles.(adr),'String'))
end
which would be called as read(internal_coord). I've tried this in the main program and it works normally, but when I try using the function it writes out an error: "Undefined variable "handles" or class "handles.joint1". I must admit that I don't know much of how handles are defined, but I presume the problem is that the function can't reach the edit boxes.
Any ideas how to solve that?
Luka Drobilo
0 Comments
Accepted Answer
Matt Fig
on 9 Nov 2012
Edited: Matt Fig
on 9 Nov 2012
Where is that function located? Is it in the GUI m-file or a separate m-file? From where are you calling it? Are you calling it from a callback?
If the function is in the GUI m-file and you are calling it from the callback of, say, a pushbutton, then simply amend the function like this:
function status=read(object,handles)
Then when you call it from the callback, pass the object arg and the handles.
More Answers (1)
Sean de Wolski
on 9 Nov 2012
Hi Luka,
I see two possibilities for the behavior you are seeing:
- Are you running the *.m file or just opening the figure? You have to run the *.m file, opening the figure directly will cause this error since the opening stuff hasn't happened.
- IS this code in your GUI's OpeningFcn? If it is, it is possible that the boxes have not been created yet.
I am guessing it is option 1.
See Also
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!