GUI error after saving as in another name

Asked by mohammad on 8 Aug 2012
Latest activity Commented on by mohammad on 10 Aug 2012

I have a GUI in name of 'gui1'. I saved it as 'gui2'. So, 'gui2.m' and 'gui2.fig' have been make. Now, when I run 'gui2.fig', it errors:

??? Error using ==> struct2handle
Undefined function or method 'gui1' for input arguments of type 'char'.
??? Error using ==> struct2handle
Error while evaluating uicontrol CreateFcn  

I think when saving as 'gui2', callbacks of some objects (gui elements like push-button,...) remain on 'gui1'. There are too many elements (push-buttons,...) in GUI that I can't change callback of all of them one by one.

Is there any way for setting all objects callback to 'gui2' entirely?

2 Comments

mohammad on 8 Aug 2012

Is it possible the problem to be caused from another thing? and my thinking be wrong?

mohammad on 10 Aug 2012

any idea?

mohammad

Products

No products are associated with this question.

2 Answers

Answer by Sean de Wolski on 10 Aug 2012
Accepted answer

Did you resave the GUI from within GUIDE? You have to, you cannot just rename it in an explorer window.

3 Comments

mohammad on 10 Aug 2012

Thanks for reply. First I open "gui1.fig" in guide then from 'file' tab I select 'save as' and then save it in name of 'gui2'. Is this work wrong?

Sean de Wolski on 10 Aug 2012

No. This is correct. I would repeat the process. Try again: rename btoh files to their original names in an identical directory. Then open the figure in GUIDE and "Save As" etc.

mohammad on 10 Aug 2012

So great!!! Thanks This works properly. But for what and how do renaming and then 'save as' solve the problem?!

Sean de Wolski
Answer by Image Analyst on 10 Aug 2012

It's possible that if you changed something in the GUI manually, like you added a layout function or something, that there is a gui1 in a string somewhere that doesn't get changed when you save it as gui2. After you save it, open gui2.m in the editor and use the search and replace utility to change all gui1 to gui2 in the m-file and then try it.

4 Comments

Image Analyst on 10 Aug 2012

Well I do it all the time and it works. Are you telling me that you get an error that mentions gui1 when you're running gui2? If so, then gui1 must either be in the m-file somewhere, or in the properties (callback properties especially) of your gui controls in GUIDE.

Sean de Wolski on 10 Aug 2012

I would guess the first attempt at renaming broke it. This would explain why unrenaming manually and then renaming in GUIDE would fix it...

mohammad on 10 Aug 2012

OK, really thanks Sean so many thanks.

Image Analyst

Contact us