VB中同一工程不同窗体如何让动态数组共用?

我想在窗体一中输入数据形成数组,然后在窗体二中调用这个数组,想在模块中定义这个数组让它共用,但是为什么会显示错误“下标越界”?比如下例:窗体一:PrivateSubCom... 我想在窗体一中输入数据形成数组,然后在窗体二中调用这个数组,想在模块中定义这个数组让它共用,但是为什么会显示错误“下标越界”?比如下例:
窗体一:
Private Sub Command1_Click()
Static cishu As Integer
cishu = cishu + 1
a(cishu) = Text1.Text
x = cishu
End Sub

窗体二:Private Sub Command1_Click()
For x = 1 To cishu
Print a(x)
Next
End Sub

模块一:
Public a() As Integer

(大神求解!!拜托拜托)
展开
 我来答
匿名用户
2015-05-08
展开全部
病情分析:
可以回国做试管婴儿。需要准备婚姻证明、护照。
指导意见:
如果你的年龄是45岁,那就不一定需要待多长时间。因为你这个年龄,卵巢功能可能会差一些,医生有可能会用药物给你调整一段时间,着就需要看具体卵巢情况了。所以无法预计你需要呆多久。

指导意见:可以啊,现在国内的医疗技术水平也很好,试管婴儿成功的先例也多,不需要过多的紧张,至于需要花多长时间不能完全肯定,只有根据你们自身的身体情况,准备方面男方得戒酒戒烟半年,女方的准备也很重要,必须用药物促使卵泡成熟,提取成熟卵泡。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bd5057
推荐于2016-07-01 · TA获得超过879个赞
知道大有可为答主
回答量:1242
采纳率:100%
帮助的人:1093万
展开全部
窗体一:
Private Sub Command1_Click()
redim preserve a(cishu)
a(cishu) = Text1.Text
cishu = cishu + 1
x = cishu
End Sub

窗体二:Private Sub Command1_Click()
For x = lbound(a) To ubound(a)
Print a(x)
Next
End Sub

模块一:
Public a() As Integer
Public cishu As Integer
追问
请问如果是x的话出的是什么问题导致的下标越界?
For x = 1 To cishu
Print a(x)
Next
追答
动态数组,需要用redim重新定义大小,才能为元素赋值或使用。你代码中没有redim
redim preserve a(cishu)中的preserve是要保留数据,如果没有preserve,redim后,a()的元素就恢复到默认值了
For x = lbound(a) To ubound(a)
Print a(x)
Next
以上x从a()的最小下标到最大下标,不回超出范围
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式