Visual Basic - Mscomm ayuda urgente

Life is soft - evento anual de software empresarial
 
Vista:

Mscomm ayuda urgente

Publicado por Bea (6 intervenciones) el 21/09/2006 17:05:05
Hola a todos resulta que tengo una balanza de la que deseo recibir los datos para guardarlos en una base de datos, mi problema es:
tengo este Codigo

1. If Not MSComm1.PortOpen Then
MSComm1.PortOpen = True
End If
tempo = Timer

2. Do
buffer = MSComm1.Input
Loop Until (tempo + 0.5) < Timer

MSComm1.PortOpen = False

y lo que pasa es que si no interfiere el usuario entre los pasos 1 y 2 no realiza ninguna lectura del puerto es decir, si entre 1 y 2 pongo por ejemplo un msgbox o si realizo una traza de la ejecución, lo hace todo perfectamente, pero si lo dejo a su aire, ahi ya al señor pues no le apetece hacer nada.

POR FAVOR ME PUEDEN AYUDAR
ESTOY TOTALMENTE DESESPERADA

GRACIAS
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 ayuda urgente

Publicado por Jose Luis C. M. (18 intervenciones) el 21/09/2006 17:53:39
Tal vez necesites hacer una pausa, en milisegundos. Esto mismo lo tuvimos que implmentar nosotros con un programa que también lee información de una báscula.
Esta es la función para hacer pausas en tu programa, puedes escribirla en el mismo formulario que usas.

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Después de "buffer = MSComm1.Input" escribe
Doevents
call Sleep(200) ' Una pausa de 1/5 de segundo.

Y posiblemente no necesites que este bloque de instrucciones esté dentro del ciclo "Do-Loop Until" que tienes.
Ojalá te funcione.
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