Clicking Disabled Button Generates Error
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi all,
I've designed an audio experiment where a sound is presented and subjects then have to respond using a touchscreen by pressing one of three buttons. I've made it so that once a sound is played, buttons are then enabled, and once they are pressed, they are disabled. When I press the first button twice, even though it is disabled after the first press, I get the following error:
??? Error using ==> feval
Undefined function or method 'pushbutton1_ButtonDownFcn' for input
arguments of type 'struct'.
Error in ==> gui_mainfcn at 96
feval(varargin{:});
Error in ==> run_timbre_exp at 42
gui_mainfcn(gui_State, varargin{:});
Error in ==>
@(hObject,eventdata)run_timbre_exp('pushbutton1_ButtonDownFcn',hObject,eventdata,guidata(hObject))
??? Error using ==> pause
Error while evaluating uicontrol ButtonDownFcn
The weird part is that I get this error for only ONE of the buttons. Any ideas as to what is going on?
3 Kommentare
Akzeptierte Antwort
Walter Roberson
am 8 Dez. 2011
Have you defined both a Callback and a ButtonDownFcn for the button? If so then when you click the first time and set the enable state to disable, you are doing that with the Callback, but with the button set to disabled, it is the ButtonDownFcn that has control (unless HitTest is set off). And you have somehow set a ButtonDownFcn property for the control but have removed the corresponding routine. So go in with the property inspector, clear the ButtonDownFcn for pushbutton1 and re-save.
Weitere Antworten (1)
Malcolm Lidierth
am 8 Dez. 2011
pause causes the event despatch thread to be flushed. It looks then, as though the second button click event is despatched before the button is disabled and is on the EDT. Have you tried defining a nop 'pushbutton1_ButtonDownFcn'
0 Kommentare
Siehe auch
Kategorien
Mehr zu Migrate GUIDE Apps finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!