VB 实时异常'94' 无效使用null 请高手赐教
VB 实时错误'94' 无效使用null 请高手赐教!
我做的一个通过串口来接收单片机数据的程序,然后把数据写进数据库,然后能够动态的画出曲线来,可是在我调试的时候总是出现这一行的错误,实时错误'94' 无效使用null , Picture1.Circle ((64 - kccount) * 140, (100 - rst.Fields("Voltage").Value) * 25), 30
我把完整的代码贴出来,请高手赐教!
Private Sub Command1_Click()
If MSComm1.PortOpen = False Then
MSComm1.PortOpen = True '...打开串口
End If
End Sub
Private Sub Command2_Click()
MSComm1.PortOpen = False
End Sub
Private Sub Command3_Click()
MSComm1.CommPort = Combo2.Text '...使用选择的Com口
MSComm1.PortOpen = True '...打开串口
If MSComm1.PortOpen = True Then
MsgBox "串口已经打开", , "提示"
End If
End Sub
Private Sub Form_Load()
Combo1.Text = Combo1.List(0)
Combo2.Text = Combo2.List(0)
Combo3.Text = Combo3.List(0)
MSComm1.InputMode = 0 '以文本的形式读入,如果为1,就是二进制读取
MSComm1.InputLen = 0
MSComm1.InBufferCount = 0
MSComm1.RThreshold = 1
MSComm1.Settings = "115200,n,8,1" '...设置通讯参数
End Sub
Private Sub MSComm1_OnComm()
'...通讯事件发生
Select Case MSComm1.CommEvent
Case comEvReceive '...有接受事件发生
'...接受显示数据
Text1.Text = Text1.Text + MSComm1.Input & Chr(10) & Chr(13) '换行显示,紧接着下一行显示
MSComm1.InBufferCount = 0 '...清空输入寄存器
'....从接收的文本中提取数据
'用vbscript正则表达式提取字符串中的数字,工程-引用-Microsoft VBScript RegularExpressions 5.5打钩-确定
Dim str As String, num() As Single 'str用来存储待处理的字符串,num()用来存储提取的数字
str = Text1.Text '为str赋值
Set re = New RegExp '初始化re为RegExp正则匹配模式
re.Global = True '设置匹配时搜索str的整个字符串,若为false,只搜索str里符合条件的第一项
re.Pattern = "[0-9\-]+(?:\.[0-9]+)?" '定义正则表达式,这里为数字
Set mc = re.Execute(str) '返回符合正则表达式匹配对象,并存储在mc中,mc为MatchCollection对象,其count属性返回匹配对象的总数
ReDim num(1 To mc.Count) '重新定义num数组,下限为1,上限为由str提取到的数字个数即mc.count
i = 1 '初始化数组sum脚标
我做的一个通过串口来接收单片机数据的程序,然后把数据写进数据库,然后能够动态的画出曲线来,可是在我调试的时候总是出现这一行的错误,实时错误'94' 无效使用null , Picture1.Circle ((64 - kccount) * 140, (100 - rst.Fields("Voltage").Value) * 25), 30
我把完整的代码贴出来,请高手赐教!
Private Sub Command1_Click()
If MSComm1.PortOpen = False Then
MSComm1.PortOpen = True '...打开串口
End If
End Sub
Private Sub Command2_Click()
MSComm1.PortOpen = False
End Sub
Private Sub Command3_Click()
MSComm1.CommPort = Combo2.Text '...使用选择的Com口
MSComm1.PortOpen = True '...打开串口
If MSComm1.PortOpen = True Then
MsgBox "串口已经打开", , "提示"
End If
End Sub
Private Sub Form_Load()
Combo1.Text = Combo1.List(0)
Combo2.Text = Combo2.List(0)
Combo3.Text = Combo3.List(0)
MSComm1.InputMode = 0 '以文本的形式读入,如果为1,就是二进制读取
MSComm1.InputLen = 0
MSComm1.InBufferCount = 0
MSComm1.RThreshold = 1
MSComm1.Settings = "115200,n,8,1" '...设置通讯参数
End Sub
Private Sub MSComm1_OnComm()
'...通讯事件发生
Select Case MSComm1.CommEvent
Case comEvReceive '...有接受事件发生
'...接受显示数据
Text1.Text = Text1.Text + MSComm1.Input & Chr(10) & Chr(13) '换行显示,紧接着下一行显示
MSComm1.InBufferCount = 0 '...清空输入寄存器
'....从接收的文本中提取数据
'用vbscript正则表达式提取字符串中的数字,工程-引用-Microsoft VBScript RegularExpressions 5.5打钩-确定
Dim str As String, num() As Single 'str用来存储待处理的字符串,num()用来存储提取的数字
str = Text1.Text '为str赋值
Set re = New RegExp '初始化re为RegExp正则匹配模式
re.Global = True '设置匹配时搜索str的整个字符串,若为false,只搜索str里符合条件的第一项
re.Pattern = "[0-9\-]+(?:\.[0-9]+)?" '定义正则表达式,这里为数字
Set mc = re.Execute(str) '返回符合正则表达式匹配对象,并存储在mc中,mc为MatchCollection对象,其count属性返回匹配对象的总数
ReDim num(1 To mc.Count) '重新定义num数组,下限为1,上限为由str提取到的数字个数即mc.count
i = 1 '初始化数组sum脚标