GUI Push Button Behavior

3 ビュー (過去 30 日間)
Jared
Jared 2012 年 12 月 11 日
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.

採用された回答

Image Analyst
Image Analyst 2012 年 12 月 11 日
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 件のコメント
Jared
Jared 2012 年 12 月 11 日
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 2012 年 12 月 11 日
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.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSearch Path についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by