小妹新手上路,VB程序调试报错,想不通问题在哪里,基于VB的PCI数据采集器
请教各位前辈以下过程的运行结果是:
编译错误:子程序过函数未定义 高亮指向Private Sub TimerDI1_Timer()中的myArray
这个程序里只有一个窗体和两个计时器,一个是timerDI1,时间30ms,一个是timerDI2,时间500ms
源代码如下:
Private Sub myDI(myAry() As Integer) ‘自定义一个子过程
Dim i As Integer
i = AM9110_DI(hPLX9052) ‘这是一个PCI的应用函数,用于同一时刻读入16个独立通道的开关量值赋给i
'1
If ((i And 1) = 1) Then ‘把i和16通道的每一位作比较,以判断那些通道是1哪些是0
myAry(j, 1) = 1 然后把值赋给数组的一行,每调用一次赋值一行,计划一共
Else 16次
myAry(j, 1) = 0
End If
'2
If ((i And 2) = 2) Then
myAry(j, 2) = 1
Else
myAry(j, 2) = 0
End If
'3
If ((i And 4) = 4) Then
myAry(j, 3) = 1
Else
myAry(j, 3) = 0
End If
'4
If ((i And 8) = 8) Then
myAry(j, j4) = 1
Else
myAry(j, 4) = 0
End If
。。。。。。。。。
'16
If ((i And 32768) = 32768) Then
myAry(j, 16) = 0
Else
myAry(j, 16) = 0
End If
While j <= 16 ‘每隔一个timerDI1时间读一次,一共读进16个值
j = j + 1
Wend
End Sub
Private Sub Form_Load() ‘载入窗体的时候什么都没有开始
TimerDI1.Enabled = False
TimerDI2.Enabled = False
End Sub
Private Sub Form_Click() ‘在点击一次窗体之后开始测试
Static j As Integer 做了一些初始化
j = 1
TimerDI1.Enabled = True
TimerDI2.Enabled = True
Static myAry(1 To 16, 1 To 16) As Integer
Static myArray(1 To 16, 1 To 16) As Integer
End Sub
Private Sub TimerDI1_Timer()
Call myDI(myArray()) ‘调用刚刚定义的子过程
End Sub
Private Sub TimerDI2_Timer()
TimerDI1.Enabled = False ‘如果timerDI2时间到了,也不读取了
Dim m, n As Integer ‘ 把数组打印出来看看结果
For m = 1 To 16
For n = 1 To 16
Print myArray(m, n)
Next n
Next m
End Sub
实在想不出错在哪里了。请各位前辈不吝赐教
--------------------编程问答-------------------- Private Sub Form_Click() ‘在点击一次窗体之后开始测试
Static j As Integer 做了一些初始化
j = 1
TimerDI1.Enabled = True
TimerDI2.Enabled = True
Static myAry(1 To 16, 1 To 16) As Integer
Static myArray(1 To 16, 1 To 16) As Integer
End Sub
Private Sub TimerDI1_Timer()
Call myDI(myArray()) ‘调用刚刚定义的子过程
End Sub
局部变量啊
读完end sub
已经释放掉了
补充:VB , 基础类