waymcu 发表于 2014-3-15 13:42:37

VB 通过串口发送一个文件,发现会一直卡死,怎么办?

关键代码如下!
Private Sub Command_all_on_Click()
Dim MyVar As Byte
Dim ComBuff(0) As Byte

Open App.Path & "\1234.dat" For Binary As #1
   
               '------会一直卡死到文件发送完成
Do While Not EOF(1)       

Get #1, , MyVar
   
 If Not EOF(1) Then
      ComBuff(0) = MyVar
      MSComm1.Output = ComBuff
   End If
   
Loop

Close #1

End Sub

以上代码通过一控件按下时发送一文件,文件能正确发送出去,但是发送文件过程中会一直卡在那里,导至其它控件不能操作,
这样的问题用VB怎么处理,不会就要改用别的语言了?

leafstamen 发表于 2014-3-15 13:48:53

vb应该是可以多线程的,解决假死就得加线程。

waymcu 发表于 2014-3-15 13:50:20

新手,不怎么会,好像VB.NET里面有讲到多线程,但用VB就不懂了!

younge 发表于 2014-3-15 14:05:50

有没有可能数据流中有“0”啊

adcr 发表于 2014-3-15 14:39:43

在do……loop中插入一个doevents

cmheia 发表于 2014-3-15 17:25:18

{:lol:}多线程的路过

cqfeiyu 发表于 2014-3-15 21:11:57

adcr 发表于 2014-3-15 14:39
在do……loop中插入一个doevents

正解   

waymcu 发表于 2014-3-16 11:25:49

这样可以了,谢谢楼上的各位!
页: [1]
查看完整版本: VB 通过串口发送一个文件,发现会一直卡死,怎么办?