查看完整版本 : handles还是全局变量
最近在写一个GUI界面,里面需要用到很多类似全局变量的东西
究竟什么时候用handles什么时候用global呢?我在使用的时候感觉功能差不多
有没有人能指点一下:cool:
最好用handles,据说全局变量用多了会使程序不稳定。
handles可以很好的完成全局变量的功能
谢谢LSD,有人知道具体是是为什么吗
如果global不稳定,而handles又可以代替它,那global还要来做什么?
marijuana
2009-01-27, 21:02
用global还是用handles,具体情况具体分析吧。我感觉handles是不能代替global的。
我用的是6.5版本的matlab,在GUI的使用中我发现
在OpeningFcn 里或CreateFcn里的handles跟callback里的似乎是不一样的。(我也不清楚为什么,
但是调试程序时发现,create里的handles是空的结构,只有自己保存的变量名;而到了callback里再调出handles,是一个充满了控件句柄的结构,新保存的变量跟在后面)
在callback事件之后的临时变量偶尔用用handles.***
如果在create函数里产生了一个需要临时保存数值,我更喜欢用set某控件的UserData暂存,当然只能保存一个,如需保存多个,可以把struct赋给UserData试试(因为没这个需求,我还没实践过)。
我也很奇怪为什么?在Opening和Create里是可以通过findobj找到某个控件句柄的,并且可以随意使用set和get的。但用handles就不行了,create里的handles不包含所有控件的句柄(加入说handles为空结构体是因为控件此刻还没生成的话,那么findobj为什么就可以找到了呢?)
xsprinkle
2009-03-20, 22:05
好复杂~~~~听不明白:tongue:
vBulletin® v3.8.3,版权所有 ©2000-2025,Jelsoft Enterprises Ltd.