Problema al desconectar MSCOMM

Tengo un problema al desconectar el componente MSCOMM.
Lo utilizo para el envío y recepción de datos a través de puerto serio. Todo funciona correctamente. Pero cuando finalizo el programa y cierro el puerto MSCOMM. OpenPort = FALSE el programa se cuelga y no finaliza, el puerto se queda abierto y tengo que reiniciar el equipo.
Para abrir el puerto utilizo:
If Not MSComm1.PortOpen Then
' Use COM1.
MSComm1.CommPort = 1
' 9600 baud, no parity, 8 data, and 1 stop bit.
MSComm1.Settings = "4800,N,8,1"
MSComm1.InputLen = 0
' Open the port.
MSComm1.PortOpen = True
Caption = "Prueba del comunicador. CONECTADO."
Else
MsgBox "El puerto está abierto", vbError, "Error"
End If
Para desconectar compruebo que no hay nada en el buffer de lecturar y si no hay nada
Ejecuto
MSCOMM1.openPort = FALSE
Y en esta linea se queda colgada la ejecución del programa.
¿Tengo que enviar algún bit para desconectar.?
¿No se puede desconectar en cualquier momento?

1 respuesta

Respuesta
1
No se si es que lo has escrito mal o es el error que tienes.
Has puesto MScomm1.openPort=FALSE y es
MScomm1.PortOpen=FALSE
Muchas gracias por la corrección Ricardo. Era eso lo que quería decir.
Al desconectar el puerto poniendo MSCOMM1.PortOpen = False el programa se
queda colgado ejecutando esa linea y ni se puede finalizar la traza, ni volver al
compilador para parar el programa, solo queda reiniciar el equipo para que el
puerto quede liberado.
Un saludo
Ismael
Tienes el sp3 o superior instalado.?
Si te refieres al SO tengo Windows 2000 con SP2. (No conozco que hay salido ya un SP3).
Si te refieres a VB tengo VB 6.0 pero no tengo ni idea donde puedo ver que SP tiene este compilador.
Me puedes indicar donde ver este dato y en caso de tener que actualizarlo de donde me lo puede actualizar.
Un saludo
Ismael
Me refiero al sp de vb
Esto se puede ver si abres los componentes que es donde están los ocx, se puede ver que sale el nombre del ocx y al final entre paréntesis la version del sp.
Por ejemplo.
Microsoft FlexGrid Control (SP3)
Si no lo tienes, mira en las páginas de microsoft en apartado service packs.
En MSComm no tiene ningún SP pero hay otros componentes que tienen SP3 e incluso SP4.
Un saludo
Ismael
Pues ya no se que más puede ser, solo queda por interpretar que sea por culpa de alguna seguridad al utilizar w2000. Para confirmarlo si puedes prueba tu programa o haz una aplicación pequeña que habrá y cierre el comm y pruébalo en win98 o winME. Así al menos saldrás de dudas si es por culpa del SO.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas