Reading from GUI edit boxes using a self made function
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
Accepted Answer
More Answers (1)
Sean de Wolski
on 9 Nov 2012
0 votes
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.
1 Comment
Luka Drobilo
on 9 Nov 2012
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!