Visual Basic - MSComm

Life is soft - evento anual de software empresarial
 
Vista:

MSComm

Publicado por XRM (27 intervenciones) el 05/03/2002 10:45:15
Hola amigos mi duda es muy simple.
He creado una aplicación que se comunica mediante puerto serie con un terminal de control de personal que funciona mediante tarjeta chip.
No hay problema a la hora de comunicarme con ella ni a la hora de recibir su contestación, el unico problema es que me enseña los datos de respuesta en dos tiempos. Me expico:
La máquina me envia la información y yo la almaceno en el buffer. El codigo es muy sencillo:
...
Private Sub Command2_Click()
Do
DoEvents
Loop Until MSComm1.InBufferCount > 0
Text1.Text = Text1.Text & MSComm1.Input
MSComm1.InputLen = 0
end sub
...
De este modo consigo que cuando detecte que en el buffer hay algo me lo enseñe en la caja de texto, pero solo me enseña un trozo, si vuelvo a pasar por este código, me enseña el resto.
¿Como puedo hacer que me muestre el código de una sola pasada?
Solo matizar que la cantidad de datos que circulan por el puerto serie es muy pequeña, y no creo que sea debido al tamaño del buffer, pero si es asi desearía que me lo comunicaseis.
El buffer tiene 512 bytes y la inf. lo máximo que puede ocupar son unos 100 bytes.
Grácias de antemano.
Un saludo a todos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:MSComm

Publicado por adolfo (45 intervenciones) el 05/03/2002 11:45:20
hola. Prueba a poner la propiedada inputlen a 0 antes de ejecutar input, así tomará todo lo que haya en el buffer. Un saludo, Adolfo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:MSComm

Publicado por XRM (27 intervenciones) el 06/03/2002 02:31:36
Muchas grácias, pero me sigue pasando lo mismo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar