Cannot find function figure1_KeyPressFcn in GUI code file

2 views (last 30 days)
In the GUIDE editor, when I right click on the figure and go to add a callback, pressing the KeyPressFcn callback selection yields a msgbox error which says "Cannot find function figure1_KeyPressFcn in GUI code file C:". Note that there is no path given after "C:". When a keypress event occurs during runtime, there is an error printed to console which states "error using feval ... undefined function 'figure1_KeyPressFcn' ..."
How should I go about fixing this error?
  3 Comments
Stephen
Stephen on 19 Jan 2018
Richard, no, I never did figure out how to fix this. I ended up re-creating the GUI from scratch in guide and then copying in the relevant code. I think it happened originally because I copied a .fig file I'd edited in parallel with the code (trying to sync the UI changes with the latest code file by just replacing the .fig file). But no easy answer, I think it's just corrupted file(s)
Richard Moyse Fenning
Richard Moyse Fenning on 19 Jan 2018
Thanks Stephen.
Following an answer to a different question, I did 'save as' on the fig and it seems to work OK now. I'm not 100% sure the two are related though :)

Sign in to comment.

Answers (1)

Kai Tanaka
Kai Tanaka on 1 Aug 2019
I also ran into this issue and was able to find a way to resolve it. It appears the error can be caused by creating the callback code and then deleting it. In order to get GUIDE to regenerate the code:
  1. Rename the 'Tag' of the offending GUI element inside Inspector
  2. Save the GUI
  3. Right click the element in the figure, and select 'view callbacks'
The code was now generated in my GUI .m file and the error went away.

Categories

Find more on Migrate GUIDE Apps 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!