永发信息网

vb 编程调用全局变量

答案:2  悬赏:0  手机版
解决时间 2021-04-07 05:19
vb 编程调用全局变量
最佳答案
你这个不叫通常意义上的全局变量。
关于全局变量的理解,目前大部分认同的是在“标准模块”顶部声明的Public公共型变量。
 
你在窗体顶部声明的Public公共型变量,可以用另外一种通俗的称谓:公共型的模块级变量
对于这种模块级公共型变量,需要在变量前加模块名称限定。
 
所以你的代码有两种改法:
第一,在工程中点鼠标右键,添加一个“添加模块”,这个模块就是标准模块,然后把Public a as Double移动到新建的moudle1模块的顶部。其他代码不必修改即可正常运行。
 
第二种改法:Print "活动" & Form1.a   '在变量a前面加上模块名称限定语句,以表明这个变量是哪个模块顶部创建的公共型变量!!
 
但你有一个错误的用法,也是变量作用域使用误区,
  Public a As Double  通用窗口
  
  Private Sub Form_Load()     第一个窗口
  Dim a As Double '2你既然已经声明a为“全局变量”,那么你在其他过程Sub中,就不能在用同样的变量名进行定义。所以你在第一个窗口中定义Dim a As Double  '2,这里就会导致全局变量a在Form_Load中将被当做该过程的一个私有变量处理,也就是过程级变量,这个过程里面的a,与全局变量虽然名称完全一样,但是意义却决然不同。所以这里的Dim a As Double  '2 必须删除,你的代码才能正常运行!!
 
That's All ,采纳?Thank you!!!
 
这是我更改后的Form1的代码:
Public a As Double
Private Sub Command1_Click()
    Unload Me
    Form2.Show
End Sub
Private Sub Form_Load()
    'Dim a As Double
    a = Val(InputBox("活动"))
    MsgBox a
End Sub下面是Form2里面的代码:
Private Sub Command1_Click()
    Print "活动" & Form1.a
End Sub输入88,弹出88,显示“活动88”
全部回答
想交流一下可以说一下您Q号吗?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
近亲结婚的孩子
2008年9月25日晚9时10分许,中国自行研制的第
怀玉公主里那个皇上驾崩了是多少集
我女朋友是单亲组合家庭?
鹅掌柴掉叶子怎么回事,鸭掌木掉叶子什么原因
关于补办房产证的问题
四只相同规格的烧杯中装有水,水量及其温度如
这位普通老人让我领悟到:青山是不会老的.这句
我本凉薄人何陷温柔海 是什么意思?
( ) -Can you ______ this word in French?
上海豪东商务咨询有限公司这个地址在什么地方
张大千的晚年岁月阅读答案
谜语:千杯万盏会应酬
打击别人的成语
FX3U-16CCL-M应用 请问关于FX3U-16CCL-M与FX2
推荐资讯
足膜是什么?足有什么效果??
交流充电桩220V 32A电流 空开选多少安
驾校考试科目一每年出的题都一样么
甲学校的女生占学校人数的45%,乙学校的女生
6·1儿童广场熊集店地址有知道的么?有点事想
Accident(事故) Report FormAccident:A car
日阿茸巴玛这个地址在什么地方,我要处理点事
做室内设计做了一年多了,每天熬夜加班,很累
欧版揽胜柴油马力是多少
请问有使用过徽金猫的网友可以说一下徽金猫的
我想买一把宜兴的紫砂壶泡茶,于峰老师的壶咋
梦见小孩掉到河里妈妈去救还没救起就醒了
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?