首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

使用form->iCount格式跨文件调用变量的有关问题

2012-04-14 
使用form-iCount格式跨文件调用变量的问题?因为整个工程有些部分使他人完成的,有些复杂,但是我自己的部分

使用form->iCount格式跨文件调用变量的问题?
因为整个工程有些部分使他人完成的,有些复杂,但是我自己的部分相对独立。
简述问题如下:
之前创建了窗体form1,在其unit1.h文件中定义了很多变量(之所以在.h中定义,是因为后面unit2中要调用),例如iCount。

一般情况,在unit2中需要用到unit1中的变量,只需在unit2.cpp文件中,声明头文件#include"unit1.h",然后在调用变量时,类于调用控件一样,使用form1->iCount格式,既可以在unit2中使用unit1.h文件中定义的变量。

但是我不知道自己前期创建窗体form1时,对其属性做了哪些修改,导致此方法不能使用,在unit2中调用的form1->iCount始终是0值;但是在unit1中采用同样方法可以调用unit2.h中的变量。

什么东西会影响这一方法的使用???一直找不到原因

之前曾经将form1的formstyle设置为fsMDIForm,现还原为fsNormal;还有同学说可能是自动创建窗体的原因,但我所有窗体都是自动创建的。

弄半天也解决不了,实在没办法,上这里来求高手指点,请问哪里可能出现问题?

[解决办法]
我现在怀疑你这个Form1对象有多个。看看工程选项中,是不是有自动创建的窗体?

另外还有个建议,如果这些全局的对象在很多个单元中都用到,可以考虑专门创建一个Unit来存放全局对象,或者放在DataModule中,在对应单元的.h文件中用extern声明,然后在对应单元的.cpp文件中定义,在其他的单元中包含了这个公用单元的头文件,就可以放心的使用这些公用对象了。

热点排行