进行GUI的m文件的编辑窗口运行完全正常,在其的.fig运行时程序会报错

报错信息:??? Attempt to reference field of non-structure array 'mybutn'.

问题分析:

首先,直接运行.fig文件不会执行m文件中的OpeningFcn和CreateFcn。
OpeningFcn函数中有两句至关重要:
% Choose default command line output for **
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
第二句将handles保存在figure对象的“ApplicationData”的一个域名里,创建了figure自己的handles数据。
由于没有执行OpeningFcn,callback函数中的形参handles就失去了意义。可以在每个子函数前面加一行handles = guihandles( gcbf ) ;将figure句柄赋给handles。

如果程序中用global声明了全局变量,并在OpeningFcn或CreateFcn中赋了初值。则直接打开.fig文件则不能初始化全局变量,其值为最后一次运行时的值

解决方案:建议还是运行m文件或用GUIDE打开fig文件运行。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值