View Single Post
Old 07-01-2009, 16:13   #1
Marte99
Junior Member
 
Iscritto dal: Jan 2009
Messaggi: 6
[vb net] Richiesta info sui thread

Sto facendo un programma in VB net che legge un flusso di dati dalla porta seriale.

Ho fatto una classe che gestisce la porta seriale e che viene usata da una applicazione form based.

Ho usato il vecchio controllo MScomm di VB6 che mi lancia l'evento Oncomm ogni volta che ci sono caratteri da leggere nella porta seriale. L'evento Oncomm invoca il metodo della classe per lo scarico dei dati dalla porta seriale

Problema:
Quando lancio il programma, l'interfaccia grafica si blocca durante la lettura dei dati dalla porta seriale perchè il controllo passa al metodo della classe che gestisce la porta seriale.

Volevo chiedervi come posso fare per usare il ThreadPool.QueueUserWorkItem per scaricare i bytes senza perdere il controllo del form

Volevo anche usare una label da mettere sul form che mi mostra il numero di bytes scaricati dal metodo della classe


Questo è l'evento che che parte ogni volta che ci sono caratteri
nella porta seriale:


-------------------------------------------------------------------------
Private Sub MSComm1_OnComm() Handles vfObjMSComm.OnComm

If vfObjMSComm.CommEvent = MSCommLib.OnCommConstants.comEvReceive Then

If False = vfObjClassRS232connection.fBolDecodeETPCommandReturn(Me.Name,vfStrErrorString,vfObjMSComm,vfRS232TimeOut, vfStrCommandReturn, vStrBlockCount) Then
Return
End If

End If

End Sub

-------------------------------------------------------------------------


Il metodo della classe è: fBolDecodeETPCommandReturn

l'ultimo parametro del metodo è: vStrBlockCount
questo parametro è passato per riferimento al metodo della classe e viene aggiornato continuamente dentro al metodo della classe e il suo contenuto dovrebbe essere mostrato da una label
sul form



Qualcuno può darmi una mano....
Marte99 è offline   Rispondi citando il messaggio o parte di esso