GUI Push Button Behavior

1 view (last 30 days)
Jared
Jared on 11 Dec 2012
I have a push button which, when pressed, uses the uigetdir function to get a directory. However, when I press it again, I get an error:
??? Undefined function or method 'Program' for input arguments of type
'struct'.
Error in ==>
@(hObject,eventdata)Program('load_Callback',hObject,eventdata,guidata(hObject))
??? Error while evaluating uicontrol Callback
I want it to simply reopen the uigetdir dialog and load a new directory, if pressed again.

Accepted Answer

Image Analyst
Image Analyst on 11 Dec 2012
Does "Program" try to call another function called "Prpgram"??? Maybe it's just a spelling mistake. What is the tag property of your pushbutton? Is the button called load? Set a breakpoint in the callback. Does it ever get there when you click the button? Do you know how to use the debugger? This would be fairly simple if you did.
  2 Comments
Jared
Jared on 11 Dec 2012
That was a typo in my question, which I have fixed. I figured it out, was very simple. When I am using that directory to load files, I was not switching back to the root directory where the .exe was located. Once I did a cd(root), it was good to go.
Good tip on the debugger, I should practice with it.
Image Analyst
Image Analyst on 11 Dec 2012
cd() should not be necessary - I rarely use it. uigetdir() will work just fine without calling cd(). However if you pass a directory to uigetdir(), you should use exist(folder, 'dir') first to make sure the directory exists.

Sign in to comment.

More Answers (0)

Categories

Find more on File Operations 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!