sobre el mscomm

25/11/2004 - 13:49 por Foro Visual FoxPro | Informe spam
Hola,

estoy intentando capturar datos con el control MsComm, logro hacerlo si
añado tambien un control Timer que evalue la propiedad inBufferCount, donde
chequeo que haya algun caracter para luego leer lo recibido, pero sino pongo
el control Timer nunca recibo nada.
La pregunta es que no se supone que el evento OnComm resuelve la
comunicacion?, y no deberia necesitar el control Timer.
Y otra cortita, en la documentacion que he estado leyendo menciona que el
control MsComm solo funciona en W95 o NT, sin embargo estas pruebas las
realizo con una maquina con W98 y otra con W95 y funcionan igual, que hay de
cierto con esto?

gracias,

Juanjo
Paysandu - Uruguay

Preguntas similare

Leer las respuestas

#1 Alberto Rodriguez
28/11/2004 - 01:28 | Informe spam
No necesitas ningun timer. El mscomm devuelve la entrada (o salida)
dependiendo del valor de las propiedades TamañodelBufferdeEntrada / Salida.
Cuando se cumple la cantidad de caracteres recibidos especificados en esa,s
propiedades.
Lo que pasa es que el valor por defecto de ellas es 0 y nunca recibe nada.

Ve la ayuda / propiedades para los nombres correctos.



"Foro Visual FoxPro" escribió en el mensaje
news:
Hola,

estoy intentando capturar datos con el control MsComm, logro hacerlo si
añado tambien un control Timer que evalue la propiedad inBufferCount,
donde
chequeo que haya algun caracter para luego leer lo recibido, pero sino
pongo
el control Timer nunca recibo nada.
La pregunta es que no se supone que el evento OnComm resuelve la
comunicacion?, y no deberia necesitar el control Timer.
Y otra cortita, en la documentacion que he estado leyendo menciona que el
control MsComm solo funciona en W95 o NT, sin embargo estas pruebas las
realizo con una maquina con W98 y otra con W95 y funcionan igual, que hay
de
cierto con esto?

gracias,

Juanjo
Paysandu - Uruguay



Respuesta Responder a este mensaje
#2 Juan Jose Masdeu
01/12/2004 - 16:10 | Informe spam
Gracias Alberto,

pobre las propiedades que mencionas y ahora si me responde el evento
OnComm, solo que aún no le doy con la tecla dado que siempre me da
overFlow, pero y no puedo capturar los datos que recibo, pero sará
cuestion de seguir intentando.

Te cuento que las propiedades inBufferCount y outBufferCount no se cargan
en cero como mencionaste sino que la de entrada se carga con 1024 byte y
la de salida con 512 byte.

saludos,


-
PortalFox :: Nada corre como un zorr
http://www.portalfox.co

PortalFox - NNTP Forum Gatewa
Respuesta Responder a este mensaje
#3 Alberto Rodriguez
02/12/2004 - 00:50 | Informe spam
Me referia a la prop. (copio la ayuda)
RThreshold (Propiedad)


Establece y devuelve el número de caracteres que se van a recibir antes de
que el control MSComm asigne a la propiedad CommEvent el valor comEvReceive
y genere el evento OnComm.

Sintaxis

objeto.RThreshold [ = valor ]

La sintaxis de la propiedad RThreshold consta de las siguientes partes:

Parte Descripción
objeto Unaexpresión de objeto que da como resultado un objeto de la
lista Se aplica a.
valor Una expresión de tipo Integer que especifica el número de
caracteres que se van a recibir antes de generar el evento OnComm.


Comentarios

Al asignar a la propiedad RThreshold el valor 0 (el valor predeterminado) se
desactiva la generación del evento OnComm cuando se reciben caracteres.

Al asignar a la propiedad RThreshold el valor 1, por ejemplo, hace que el
control MSComm genere el evento OnComm cada vez que entra un carácter en el
búfer de recepción.

Tipo de datos

Integer

-

InBufferCount se refiere al número de caracteres que ha recibido el módem y
que están en espera en el búfer de recepción. Puede borrar el búfer de
recepción si asigna el valor 0 a la propiedad InBufferCount.

Nota No confunda esta propiedad con InBufferSize, que refleja el tamaño
total del búfer de recepción.





en cuanto al buffer debes programar un ciclo y si no usas por ejemplo

lcCadena = This.msComm1.Object.Input && libera el buffer para

evitar desbordamiento.


This.cBuffer = This.cBuffer + lcCadena
...

ciblo de proceo (do while)





"Juan Jose Masdeu" escribió en el mensaje
news:
Gracias Alberto,

pobre las propiedades que mencionas y ahora si me responde el evento
OnComm, solo que aún no le doy con la tecla dado que siempre me da
overFlow, pero y no puedo capturar los datos que recibo, pero sará
cuestion de seguir intentando.

Te cuento que las propiedades inBufferCount y outBufferCount no se cargan
en cero como mencionaste sino que la de entrada se carga con 1024 byte y
la de salida con 512 byte.

saludos,



PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida