VB6报13 类型不匹配
各位前辈,请教一下
以下代码编译时报错13, 类型不匹配,请问怎样修改
Private Sub tmrTime_Timer()
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim szDeviceList As String '用于存放监视软元件
Dim Devbox(12) As Long '用于暂时存放监视软元件
Dim lData(12) As Long '用于存放监视软元件的数值
Dim lRet As Long
Dim lSize As Long '监视软元件的个数
lSize = 13
'设置监视的软元件
Devbox(0) = "X0" 此处出错,报错代码为13 类型不匹配
Devbox(1) = "X1"
Devbox(2) = "X2"
Devbox(3) = "X3"
Devbox(4) = "X4"
Devbox(5) = "X5"
Devbox(6) = "X6"
Devbox(7) = "X7"
Devbox(8) = "D0"
Devbox(9) = "D1"
Devbox(10) = "D2"
Devbox(11) = "D3"
Devbox(12) = "D4"
For i = 0 To lSize - 1
szDeviceList = szDeviceList + Devbox(i)
If i <> lSize Then
szDeviceList = szDeviceList + vbLf
End If
Next
lRet = ActQJ71E71TCP.rendevicerandom(szDeviceList, lSize, lData(0))
If lRet <> 0 Then
txtStatus.Text = "错误发生(出错代码:" + Hex$(lRet) + ")"
End If
[解决办法]
典型的错误,字符串是不能赋值给Long类型变量的
[解决办法]
其实,很多情况下VB内部类型转换替程序书写者做了类型转换,但像你这个“X0”,VB内部转换都不能成功转换。因为数字是没有X这个字符的,所以必定失败。
- VB code
Option ExplicitPrivate Sub Command1_Click() Dim lngP As Long lngP = "10" lngP = "X0"End Sub