vb 编程调用全局变量
答案:2 悬赏:0 手机版
解决时间 2021-04-07 05:19
- 提问者网友:别再叽里呱啦
- 2021-04-06 04:41
vb 编程调用全局变量
最佳答案
- 五星知识达人网友:行雁书
- 2021-04-06 05:02
你这个不叫通常意义上的全局变量。
关于全局变量的理解,目前大部分认同的是在“标准模块”顶部声明的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”
关于全局变量的理解,目前大部分认同的是在“标准模块”顶部声明的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”
全部回答
- 1楼网友:患得患失的劫
- 2021-04-06 05:37
想交流一下可以说一下您Q号吗?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯