您的位置:程序门 -> vb -> 基础类



求助:运行时出现错误!


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


求助:运行时出现错误![已结贴,结贴人:lqg1999]
发表于:2007-01-08 10:51:54 楼主
本人vb初学者,有个问题希望高手看一下:
现在做个通过串口采集下位仪表的小程序,单步运行的时候能采集到值,可是全部运行就出现错误:实时错误   '5 '
                                无效的过程调用或参数

然后我点“调试”按钮,就进入到:

function   recvcmdcom(buf   as   string)   as   string
       
        dim   strread   as   string
        dim   intbeginbit   as   integer
        dim   intendbit   as   integer
       
        intbeginbit   =   instr(1,   buf,   ", ")
        intendbit   =   instr(intbeginbit,   buf,   ": ")
        strread   =   mid(buf,   intbeginbit   +   1,   intendbit   -   intbeginbit   -   1)
       
        recvcmdcom   =   str(val( "&h "   &   strread))
       
end   function

光标停在strread   =   mid(buf,   intbeginbit   +   1,   intendbit   -   intbeginbit   -   1)
这个语句上。

请问各位高手,这个这么解决呢?是什么原因?
发表于:2007-01-08 11:36:451楼 得分:8
buf为空的时候会出错
发表于:2007-01-08 12:31:012楼 得分:6
function   recvcmdcom(buf   as   string)   as   string

dim   strread   as   string
dim   intbeginbit   as   integer
dim   intendbit   as   integer

intbeginbit   =   instr(1,   buf,   ", ") '这句加个判断
if   intbeginbit   =   0   then   '如果buf   中没有 ", "   ,那么
recvcmdcom= " "
exit   function
end   if
intendbit   =   instr(intbeginbit,   buf,   ": ") '这句加个判断
if   intbeginbit   =   0   then   '如果buf   中没有 ": "   ,那么
recvcmdcom= " "
exit   function
end   if
strread   =   mid(buf,   intbeginbit   +   1,   intendbit   -   intbeginbit   -   1)

recvcmdcom   =   str(val( "&h "   &   strread))

end   function
发表于:2007-01-08 12:31:363楼 得分:6
function   recvcmdcom(buf   as   string)   as   string

dim   strread   as   string
dim   intbeginbit   as   integer
dim   intendbit   as   integer

intbeginbit   =   instr(1,   buf,   ", ") '这句加个判断
if   intbeginbit   =   0   then   '如果buf   中没有 ", "   ,那么
recvcmdcom= " "
exit   function
end   if
intendbit   =   instr(intbeginbit,   buf,   ": ") '这句加个判断
if   intendbit   =   0   then   '如果buf   中没有 ": "   ,那么
recvcmdcom= " "
exit   function
end   if
strread   =   mid(buf,   intbeginbit   +   1,   intendbit   -   intbeginbit   -   1)

recvcmdcom   =   str(val( "&h "   &   strread))

end   function
发表于:2007-01-08 14:01:344楼 得分:0
谢谢!是个延时问题,在读下位机字符前延时一下就好了。


快速检索

最新资讯
热门点击