zlhow
驱动牛犊
驱动牛犊
  • 注册日期2003-10-10
  • 最后登录2005-08-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1653回复:6

为什么用vb调用mscomm控件不能接收1K以上的数据?(急用,帮帮忙)

楼主#
更多 发布于:2004-02-14 01:14
我用vb编程,调用mscomm控件,要传输一个21k的binary类型的数据块,但是,传出后,只能收到1024字节的数据,不知道是为什么?各位来往的朋友,请千万帮帮忙.我急用!!! :(
张亮
BaoFu
驱动小牛
驱动小牛
  • 注册日期2002-10-07
  • 最后登录2010-11-25
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望9点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-02-14 07:51
你可以看看这里:
http://www.gjwtech.com/
zlhow
驱动牛犊
驱动牛犊
  • 注册日期2003-10-10
  • 最后登录2005-08-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-02-14 13:38
我去过,但是那里写的传输都是突发性小容量的,我的问题还是解决不了,5555 :( :( :( :(
张亮
lyd961418
驱动牛犊
驱动牛犊
  • 注册日期2004-02-16
  • 最后登录2006-05-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-02-16 16:30
你可以把控件的Inbuffersize的数值改大点,以适合你的要求,或者使用流量控制
zlhow
驱动牛犊
驱动牛犊
  • 注册日期2003-10-10
  • 最后登录2005-08-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-02-17 01:51
嘿嘿,楼上的各位,我解决了.
只要在接收后马上跟一句mscommm.outbuffersize=0就可以了.
单纯加大outbuffersize是不行的,我试过了,还有要注意就是vb支持的缓冲区大小不等于电脑可以使用的缓冲区大小,不注意可是要上当的啊 !!!!! :D :o :o
张亮
lyd961418
驱动牛犊
驱动牛犊
  • 注册日期2004-02-16
  • 最后登录2006-05-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-02-17 10:59
你是在接收数据,改发射缓存区的大小有什么影响吗,为什么会这样???????????我没有试过,可是其中奥秘还是不能参透 :( :( :( :(
author22
驱动小牛
驱动小牛
  • 注册日期2003-08-20
  • 最后登录2018-04-07
  • 粉丝0
  • 关注0
  • 积分391分
  • 威望85点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-02-17 11:19
怎么可能呢? 我是用VC写的,  MSComm 和 API 函数我都试过.我写的
接收的缓存都有16K大,1K怎么可能呢? 你试一下计算机输入缓存的大小.或者你的那个里面设置了数据量控制位.当数据量到达1K时激发一个消息事件.清空了缓存.你看看有没有消息控制函数.
我的Vc代码仓库:[url]http://sh.b211.net[/url]
游客

返回顶部