不是超时了。是有收到返回的,但个数明显不对。奇怪的是。为什么第一次收到没达到个数,也会触发。会提示:
variant or safe array index out of bounds
variant or safe array index out of bounds
解决方案 »
- 救命啊,又一个问题从dbgrid选一条记录点修改后,在edit,combobox里的东西都不能动弹了
- 用过fastReport底高人看过来!
- DBGrid插入记录的排序问题(高分相送!!!)
- 帮我找找这几个控件,或许对你也很有用处哦,拜托!
- 各位,你们都用 Delphi 做什么呀?能拿出来看看吗?
- 帮忙找些资料
- 如何得到当前explorer里面选择的文件信息(包括选择了多少文件等)
- insert
- delphi6中ActiveX里面的Transactional Object和Multitier里面的TranSactional Data Module有什么不同?
- 怎样取richedit中的第一个字符的位置(不包括空字符)
- 求图片切割算法,各位大神帮帮忙,搞了好多天了还没弄出来
- delphi Indy新手问题
MSComm.InBufferCount:=0;//清空数据
mscomm.output:=senddata;1、每一次发送之前都有清空,并设置为接收到多少人字节时,为触发。
2、是PC和DSP的通讯
3、发送之后,都有设置延时时间。延时的时间足够发送并回收
4、缓冲区:返回的字节数,不会超过50个字节。所以缓冲区应该是足够的。
20个字节数据分两包返回,可能是线上有干扰,或者通讯线质量有问题,以前也遇到过,或者可以把停止位改了看看会不会好一点。
http://blog.csdn.net/start8588/article/details/10045287
1、把接到到的数据转换为字符用个全局变量字符串存起来(如0A 0B 1C 这样子存起来)。
2、通过协议的结束标志字符判断此帧有没有结束,没结束就退出。结束了,就置位一个接受完成标志位。发送数据函数:
1、发送数据.
2、是全局变量接受字符串=‘’ 、接受完成标志位=false.
3、延时3s(如果接受完成标志位置位就退出延时) 注:此处的延时相当于超时时间。//这里很关键
4、判断全局变量接受字符串等,然后处理接收到的数据。
现在用delphi, 还搞串口,用的SPComm控件,很好用,也没有出过问题!