2014-12-29 99 views
-1

我已經做了接收通過LAN(Net.Socket)的XML文件的程序,並且需要把這個XML數據的一部分發送到串行端口(也有的標籤)VB.net的SerialPort多線程

當發送給標籤一切順利,因爲我使用了下面的代碼(交叉線):

Delegate Sub SetlblScoreLine1TextInvoker(ByVal TextToDisplay1 As String) 

Public Sub SetlblScoreLine1Text(ByVal TextToDisplay1 As String) 
    If lblScoreLine1.InvokeRequired Then 
     lblScoreLine1.Invoke(New SetlblScoreLine1TextInvoker(AddressOf SetlblScoreLine1Text), New Object() {TextToDisplay1}) 
    Else 
     lblScoreLine1.Text = TextToDisplay1 
    End If 
End Sub 

我想也利用這個串行端口,但serialport1.invokerequired不是系統的成員。 IO.ports.serialports。 這是因爲並不總是串行數據被正確地發送(交叉線?)

任何想法,我怎麼能解決這個問題?

我不熟悉的跨線程

+0

片斷代碼具有絕對無關,與你的問題。沒有人能夠猜到「並不總是串行數據發送正確」可能意味着什麼。 –

回答

0

好吧,這是我如何將數據發送到串口,希望這有助於:

   If SerialPort1.IsOpen = True Then 
       SerialPort1.Write("2" & strLine2 & vbLf & vbCr _ 
            & "3" & strLine3 & vbLf & vbCr _ 
            & "4" & strLine4 & vbLf & vbCr) 
       SerialPort1.Write("Cxx234xdx" & vbCrLf & vbCr) 
      End If 

如果您需要了解更多信息,請讓我知道