查看: 3661|回复: 5|关注: 0

[已答复] GUI中的初始化函数最后可不可以加end?报错是Attempt to add

[复制链接]

新手

7 麦片

财富积分


050


3

主题

11

帖子

0

最佳答案
发表于 2014-10-1 23:42:17 | 显示全部楼层 |阅读模式
本帖最后由 背驰的流年 于 2014-10-2 00:46 编辑

请教各位前辈,我在写一个GUI,openingfcn中需要套子函数,所以导致每个控制函数和callback最后我都必须要加end,最后初始化函数也要加(一般不敢随意改),可是加完程序彻底没法运行了,报出的错误是Attempt to add " xx " to a static workspace. 想请教一下大家这问题该怎么解决?

需要套子函数的Openingfcn的形式大体是这个样子
function slider_OpeningFcn()

datacursormode on
dcm_obj = datacursormode(gcf)
set(dcm_obj, 'UpdateFcn',@updatefcn)
guidata(hObject,handles);

function txt = updatefcn (empty,event_obj)

......
......

end
end

非常非常感谢大家!

论坛优秀回答者

3

主题

1万

帖子

872

最佳答案
  • 关注者: 306
发表于 2014-10-2 01:44:49 | 显示全部楼层
关于function和end的规则,如果在一个文件中有多个函数,要么都加,要么不加。但是如果使用嵌套函数,必须加。

你的例子,这么加,就是一个嵌套函数,我不知道这个是不是你要的。

新手

7 麦片

财富积分


050


3

主题

11

帖子

0

最佳答案
 楼主| 发表于 2014-10-2 02:16:32 | 显示全部楼层
honglei.chen 发表于 2014-10-2 01:44
关于function和end的规则,如果在一个文件中有多个函数,要么都加,要么不加。但是如果使用嵌套函数,必须 ...

这个openingFcn确实是我想实现的,但是这样就导致必须要在function varargout = silder(varagin)这个初始化function的最后加一个end, 加了这个end之后程序就报错

错误是:Attempt to add "patient_identifier" to a static workspace.
See MATLAB Programming, Restrictions on Assigning to Variables for details.

Error in Variables (line 5)
patient_identifier='06';

Error in Slider>Slider_OpeningFcn (line 56)
Variables;

Error in gui_mainfcn (line 220)
    feval(gui_State.gui_OpeningFcn, gui_hFigure, [], guidata(gui_hFigure), varargin{:});

Error in Slider (line 42)
    gui_mainfcn(gui_State, varargin{:});



之前没有加嵌套函数时,就是所有function都没加end,程序能够很好运行。。。

论坛优秀回答者

3

主题

1万

帖子

872

最佳答案
  • 关注者: 306
发表于 2014-10-2 02:20:08 | 显示全部楼层
背驰的流年 发表于 2014-10-2 02:16
这个openingFcn确实是我想实现的,但是这样就导致必须要在function varargout = silder(varagin)这个初始 ...

我没法看懂你在说什么,你的例子里也没patient_identifier什么事儿。我的问题其实就是你真的需要嵌套函数吗?如果是的话那你就注意嵌套函数可以用父函数中的变量。既然你原来是可以用的,改起来应该不会太难

新手

7 麦片

财富积分


050


3

主题

11

帖子

0

最佳答案
 楼主| 发表于 2014-10-8 05:10:12 | 显示全部楼层
已经解决了~谢谢~

新手

5 麦片

财富积分


050


0

主题

7

帖子

0

最佳答案
发表于 2019-1-12 22:20:31 | 显示全部楼层
您好   我想请问   GUI中的初始化函数我都加end了   然后运行 gui显示不了图形,但是不在gui里运行能显示图形,您知道是什么原因吗?
谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表