MFC框架下的全局变量的临时解决方案

2012/6/13 11:26:00  请友读忠(更多)  E界MRP开发下载网  211阅

欢迎进入C/C++编程社区论坛,与300万技术人员互动交流 >>进入 MFC和很多C++书上说的全局变量不一样。不是仅在写在函数外就可以了,MFC的运行机制完全不一样。我对MFC的机理还没做到完全的理解,而现在两个窗体之间需要有数据“通信”,也就是需要一个公共变量来做媒介,时间十分紧张,容不得我慢慢的理解然后解决。 那么我只有有现有的知识来解决了,ok废话少说,下面开始: 全局变量的特点就是在程序的运行期间都存在,而记得在看候杰书上曾经提到: MFC有一个CXXApp(XX为工程的名字,如我这个就是CRSApp)的类,还有一个这个类的对象,然后好像在“MFC六大关键技术仿真”中提到有一个
AfxGetApp()这个全局函数可以得到当前这个对象的指针,那么只有在App类上下点功夫了。 在CRSApp加上一个类的成员变量我这里用PubCurID做例子(RS就是工程的名字,具体情况不一样。)。 然后在使用的地方 使用这个相应类的指针就接收就可以了。 解决感受: 这个解决方案不是很好,但是的确有效,缺点明显在CRSApp的成员中加上了没什么关系的变量,可能回影响程序的直观行,虽然也考虑过定义一个H文件然后在用和定义的地方都include进去。而然,事情远远超过我的预料,这个办法不是那么有用:extern 到处用,还是到处抱错,我意识道可能会导致全局的问题,继而程序不可维护因此放弃。“真理是有条件的”恐怕说的就是这么回事吧。

分享至:
good 8

发表评论

文明评论,重在参与

暂无评论!
返回上级 返回首页
首页合作客服留言QQ群简版
E界,引领视界
mrpej.com @CopyRight