"Undefined function or variable" in GUIDE

1 次查看(过去 30 天)
I have a script who replace some values. The problem is that when i click the action button for firt time, it work, but second give me this error :
Undefined function or variable 'redenumire'.
Error in
matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)redenumire('renamebtn_Callback',hObject,eventdata,guidata(hObject))
How can i solve this ? I'm totally at the start with Matlab, and i can't find a response for my question on internet.

回答(1 个)

Walter Roberson
Walter Roberson 2017-9-14
You code might be cd'ing (changing directory) away from the directory that holds the .m file for your code.
  2 个评论
Gheorghe Madalina Eleonora
i have only one cd... This is the function
function renamebtn_Callback(hObject, eventdata, handles)
dir=get(handles.directorytext,'String');
if ~strcmp(dir,'')
PathName=handles.PathName;
calea=handles.PathName;
cd(calea)
client=handles.client;
new_name=get(handles.newname,'String');
old_name=get(handles.oldname,'String');
warndlg('Operation complete!')
else
warndlg('Choose directory')
end
Walter Roberson
Walter Roberson 2017-9-14
Right. You cd to calea but you do not cd back. After the first cd, your script redenumire.m is no longer in your current directory and MATLAB cannot find it to execute the code.
  • avoiding cd is generally more robust
  • if you do cd then do so only in the context of
olddir = pwd;
try
cd(newdir)
...
catch
end
cd(olddir)
Even that is risky as it cannot handle running out of memory or the user using control-C

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 File Operations 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by