Effacer les filtres
Effacer les filtres

How to fix this erro in GUIDE?

9 vues (au cours des 30 derniers jours)
Daniel Fonsêca
Daniel Fonsêca le 18 Sep 2018
Commenté : Rik le 25 Sep 2018
I'm using the Guide to build a programme and i have had the following problem: "Functions are nested too deep" I put the "end" at the end the functions, but it doesn't work. Can you help me? I have more than 15 functions

Réponses (1)

Rik
Rik le 18 Sep 2018
Modifié(e) : Rik le 18 Sep 2018
Either end all functions with the end keyword, or end none of them with the end keyword. The default that GUIDE uses is not using end, as that was the standard in Matlab (it would even trigger a warning if you didn't). Currently the standard is to end all functions with end, especially since you are allowed to use local functions in a script.
If you have trouble making the edit, just attach your code and I'll make the edit.
  3 commentaires
Daniel Fonsêca
Daniel Fonsêca le 25 Sep 2018
It didn't solve my problem. I'm remaking it. But, thanks by your attention.
Rik
Rik le 25 Sep 2018
If you're remaking it, then I would suggest avoiding GUIDE in the first place. I could still try to do the edit if you like.
My small guide to avoid GUIDE:
  • Make a figure (with f=figure;) and look into the doc for figure which properties you want to turn off (you probably want to set Menu and Toolbar to 'none')
  • Create buttons and axes and everything you need with functions like uicontrol and axes. Save the handles to each element to fields of a struct (like handles.mybutton=uicontrol(_);)
  • When you've finished loading all data (and saving it to fields of your handles struct), and creating all the buttons, save your handles struct to the guidata of your figure like this guidata(handles.f,handles);. (You can also use getappdata and setappdata)
  • You can set the Callback property of many objects. If you do, use a function name with an @ in front, or a char array that can be evaluated to valid code. (like @MyFunction or 'disp(''you pushed the button'')')
  • Callback functions will be called with two arguments: the first is a handle to the callback object, the second is eventdata that may contain special information. To get access to your data, just use handles=guidata(gcbo);. You can replace the gcbo function with the name of the first input to your callback function if you prefer.
  • More information about callbacks can be found in multiple places in the doc, for example here.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Migrate GUIDE Apps dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by