![]() |
handles还是全局变量
最近在写一个GUI界面,里面需要用到很多类似全局变量的东西
究竟什么时候用handles什么时候用global呢?我在使用的时候感觉功能差不多 有没有人能指点一下:cool: |
回复: handles还是全局变量
最好用handles,据说全局变量用多了会使程序不稳定。
handles可以很好的完成全局变量的功能 |
回复: handles还是全局变量
谢谢LSD,有人知道具体是是为什么吗
如果global不稳定,而handles又可以代替它,那global还要来做什么? |
回复: handles还是全局变量
用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为什么就可以找到了呢?) |
回复: handles还是全局变量
好复杂~~~~听不明白:tongue:
|
所有时间均为北京时间。现在的时间是 11:27。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.