| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 964 人关注过本帖
标题:请大神帮我看一下
只看楼主 加入收藏
lbc0405
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-12-18
结帖率:0
收藏
已结贴  问题点数:20 回复次数:1 
请大神帮我看一下
buffer$ = ""
MSComm1.Output = "@00FA0000000000101300C2C000001" + FCS("@00FA0000000000101300C2C000001") + "*" + Chr$(13) '读
Do
 DoEvents
 buffer$ = buffer$ & MSComm1.Input
Loop Until InStr(buffer$, "*")
   
If CInt(Mid(buffer$, 25, 1)) = 1 Then
 Command2.Enabled = True
Else
 Command2.Enabled = False
End If
在我的程序里插入这么一段程序,插入之后这段程序后面的所有命令都不能执行了。把这段程序改为注释,后面的命令可以执行
搜索更多相关主题的帖子: buffer If 执行 插入 命令 
2019-09-24 15:44
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4937
专家分:30047
注 册:2008-10-15
收藏
得分:20 
Do
 DoEvents
 buffer$ = buffer$ & MSComm1.Input
Loop Until InStr(buffer$, "*")

应该是卡在这里了。
这个循环里,应该加一个超时退出循环的处理过程。
Dim t1 As sing, t2 As sing
t1 = Timer               '进入循环前的秒数
Do
    t2 = Timer          '当前秒数
    If t1 > t2 Then t1 = t1 - 86400         '如果T2小于T1,说明过天了,修正T1,修正后T1为负数,而T2这时为个位数
    DoEvents
    buffer$ = buffer$ & MSComm1.Input
    If t2 - t1 > 3 Then Exit Do             '3秒超时,这个时间自己定
Loop Until InStr(buffer$, "*")


授人于鱼,不如授人于渔
早已停用QQ了
2019-09-24 16:12
快速回复:请大神帮我看一下
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021431 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved