点击这里给我发消息 点击这里给我发消息

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

添加时间:2013-12-7
    相关阅读: 技术 解决方案 方案 程序 框架 C++ 维护

    MFC和很多C++书上说的全局变量不一样。不是仅在写在函数外就可以了,MFC的运行机制完全不一样。我对MFC的机理还没做到完全的理解,而现在两个窗体之间需要有数据“通信”,也就是需要一个公共变量来做媒介,时间十分紧张,容不得我慢慢的理解然后解决。

那么我只有有现有的知识来解决了,ok废话少说,下面开始:

全局变量的特点就是在程序的运行期间都存在,而记得在看候杰书上曾经提到:

MFC有一个CXXApp(XX为工程的名字,如我这个就是CRSApp)的类,还有一个这个类的对象,然后好像在“MFC六大关键技术仿真”中提到有一个
AfxGetApp()这个全局函数可以得到当前这个对象的指针,那么只有在App类上下点功夫了。

       在CRSApp加上一个类的成员变量我这里用PubCurID做例子(RS就是工程的名字,具体情况不一样。)。

       然后在使用的地方

使用这个相应类的指针就接收就可以了。

    解决感受:

    这个解决方案不是很好,但是的确有效,缺点明显在CRSApp的成员中加上了没什么关系的变量,可能回影响程序的直观行,虽然也考虑过定义一个H文件然后在用和定义的地方都include进去。而然,事情远远超过我的预料,这个办法不是那么有用:extern 到处用,还是到处抱错,我意识道可能会导致全局的问题,继而程序不可维护因此放弃。“真理是有条件的”恐怕说的就是这么回事吧。

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

咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册