我把MSComm的OutBufferSize已经设为了2048了,为什么发送一个1018大小的数组会发送不出去呢? 
如果发送200大小的数组就没有问题,好像只要大于一个值(该值在200与500之间)就发送不出去了。什么原因阿???

解决方案 »

  1.   

    1。mscomm  的bug 大概5能一次工作5秒的时间  
      
    2。Sthreshold:该属性亦为一阀值。当发送缓冲区中字符数小于该值时,MSComm控件设置Commevent属性为ComEvSend,并产生OnComm事件。若Sthreshold属性设置为0,则不产生OnComm事件。要特别注意的是仅当发送缓冲区中字符数小于该值的瞬间才产生OnComm事件,其后就不再产生OnComm事件。例如Sthreshold设置为3,仅当发送缓冲区中字符数从3降为2时,MSComm控件设置Commevent属性为ComEvSend,同时产生OnComm事件,如发送缓冲区中字符始终为2,则不会再产生OnComm事件。这就避免了发送缓冲区中数据未发送完就反复发生OnComm事件。