注册 登录
编程论坛 VB6论坛

请教全局变量的定义和读写

zh0920 发布于 2016-08-10 15:50, 1790 次点击
在模块内定义个全局变量:Public CA(16)  As Variant
在From1里面:
     For i = 1 To NumItems
        If Not Errors(i) = 0 Then
            MsgBox "AsyncReadComplete Item Clienthandle = " + Str$(ClientHandles(i)) + " FAILED. Error Code = " + Str$(Errors(i)), vbCritical
        ElseIf ClientHandles(i) > 0 And ClientHandles(i) < 17 Then
            If Qualities(i) = 192 Then
                CA(i) = ItemValues(i)         
                txtReadVal.Item(ClientHandles(i) - 1).Text = ItemValues(i)
            Else
                txtReadVal.Item(ClientHandles(i) - 1).Text = GetQualityText(Qualities(i))
                'txtReadVal.Item(ClientHandles(i) - 1).BackColor = &H8080FF
            End If
        Else
在If Qualities(i) = 192 Then处:CA(i) = ItemValues(i),txtReadVal.Item(ClientHandles(i) - 1).Text能够正常显示数据
  用取值的语句:Text4.Text = CA(12) 数据为0,请教这是怎么回事儿?该怎么处理这个问题?
7 回复
#2
风吹过b2016-08-10 16:24
你到 CA(i) = ItemValues(i) 后面加上测试语句看看结果。怀疑 NumItems 的值不到 12 。
debug.print i;CA(i)


#3
zh09202016-08-10 17:00
回复 2楼 风吹过b
这是两个语句执行的对比结果
只有本站会员才能查看附件,请 登录

那个8.6的,是txtReadVal.txt
下边是那个Text4.text

[此贴子已经被作者于2016-8-10 17:06编辑过]

#4
Artless2016-08-11 00:17
      If Qualities(i) = 192 Then
                CA(i) = ItemValues(i)   
text4.text=ca(12)

i=12?
#5
zh09202016-08-11 15:40
回复 4楼 Artless
数组里面,第12个变量值。
#6
Artless2016-08-12 00:01
以下是引用zh0920在2016-8-11 15:40:29的发言:

数组里面,第12个变量值。

代码里没有ca(12)=?
那你确定ca(12)<>””
#7
zh09202016-08-12 09:08
回复 6楼 Artless
我听明白你的意思了,你是说全局变量定义的时候是不是会出错。这样我请问一下:模块中定义变量组是否可行,该采用什么方式?如果是我定义错误,找到根源并解决了,一切就顺理成章了。
#8
Artless2016-08-13 00:53
以下是引用zh0920在2016-8-12 09:08:28的发言:

我听明白你的意思了,你是说全局变量定义的时候是不是会出错。这样我请问一下:模块中定义变量组是否可行,该采用什么方式?如果是我定义错误,找到根源并解决了,一切就顺理成章了。

不是这意思,如果你没有别的代码ca(12)=*,而i<12则ca(12)=””
1