04/12/12 16:52
piter123
salve, ho una form Mdi padre con una toolstrip con all'interno una toolstriplabel ,
ho un modulo dove ho inserito le routine per la connessione tramite socket ad
un server remoto. Funziona tutto.
Il problema stà nell'aggiornare la toolstriplabel che non mi si aggiorna con il dato
che ricevo in tempo reale ogni secondo da parte del server remoto.
Se invece copio tutte le routine del modulo direttamente sulla form Mdi si aggirona.
Perchè ???
Public Sub Ricezione_ClientSock()
Dim Campo()
Do While True
If ClientSocket.Connected = True Then
If ClientSocket.Available <> 0 Then
'RICEVE DATO
ServerStream = ClientSocket.GetStream()
Dim buffSize As Integer
Dim inStream(10024) As Byte
buffSize = ClientSocket.ReceiveBufferSize
ServerStream.Read(inStream, 0, buffSize)
Dim Dato As String = System.Text.Encoding.ASCII.GetString(inStream)
'FILTRA DATO
Select Case Dato.Substring(0, 6)
Case "COMM12"
'CONFERMA AUTENTICAZIONE RIUSCITA
Campo = Split(Dato, ";"
FMdi.Text = Campo(1) & " Connesso"
Case "COMM31"
'RICEVE DATA E ORA DAL SERVER
Campo = Split(Dato, ";"
FMdi.TsLblTime.Text = Campo(1) 'toolstriplabel
End Select
End If
End If
Ritardo(100)
Loop
End Sub
ho un modulo dove ho inserito le routine per la connessione tramite socket ad
un server remoto. Funziona tutto.
Il problema stà nell'aggiornare la toolstriplabel che non mi si aggiorna con il dato
che ricevo in tempo reale ogni secondo da parte del server remoto.
Se invece copio tutte le routine del modulo direttamente sulla form Mdi si aggirona.
Perchè ???
Public Sub Ricezione_ClientSock()
Dim Campo()
Do While True
If ClientSocket.Connected = True Then
If ClientSocket.Available <> 0 Then
'RICEVE DATO
ServerStream = ClientSocket.GetStream()
Dim buffSize As Integer
Dim inStream(10024) As Byte
buffSize = ClientSocket.ReceiveBufferSize
ServerStream.Read(inStream, 0, buffSize)
Dim Dato As String = System.Text.Encoding.ASCII.GetString(inStream)
'FILTRA DATO
Select Case Dato.Substring(0, 6)
Case "COMM12"
'CONFERMA AUTENTICAZIONE RIUSCITA
Campo = Split(Dato, ";"
FMdi.Text = Campo(1) & " Connesso"
Case "COMM31"
'RICEVE DATA E ORA DAL SERVER
Campo = Split(Dato, ";"
FMdi.TsLblTime.Text = Campo(1) 'toolstriplabel
End Select
End If
End If
Ritardo(100)
Loop
End Sub
aaa