【发布时间】:2015-07-13 19:36:51
【问题描述】:
我在 vb6 中创建了一个 tcp 连接,以从秤上获取重量并在按下按钮后显示该重量。问题是直到第二次(第二次)单击按钮而不是第一次才显示重量。我在不同的位置设置了一个断点,第一次单击按钮时,它会将我带到那个断点,所以我知道事件正在按应有的方式触发,但是在第二次单击之前什么都没有显示。我做了很多研究,但似乎找不到任何有确切问题(或解决方案)的人。
Public tcpC As New Winsock
'Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub CFixPicture_Close()
tcpC.Close
End Sub
Private Sub CFixPicture_Initialize()
tcpC.LocalPort = 0
tcpC.Connect "192.168.0.1", 8000
End Sub
Private Sub CommandButton1_click()
On Error GoTo errHandler
Dim strData As String
tcpC.SendData "S" & vbCrLf
tcpC.GetData strData
Text1.Caption = "Weight: " & strData
Exit Sub
errHandler:
MsgBox "error:" & Err.Description
End Sub
【问题讨论】:
-
您的 GetData 调用可能在获取任何数据之前执行。请参阅 DataArrival 事件。
-
我将 sub 的名称更改为 dataArrival 事件但仍然没有运气
标签: tcp vb6 winsock commandbutton