Compatibilidad de aplicaciones que utilizan MSCOMM32.OCX en Windows Vista

Muchas de nuestras antiguas aplicaciones utilizaban el conocido control ‘mscomm32.ocx'. Atendiendo a los nuevos escenarios en ocasiones nos vemos obligados a utilizar estas aplicaciones con el nuevo sistema operativo. No existe ningún problema y estas aplicaciones funcionan perfectamente siempre y cuando utilicen los puertos serie nativos del ordenador (o sea los que vienen incluidos o incorporados a través de placas con las UART de toda la vida).

El problema ocurre cuando necesitamos utilizar alguno de los conversores USB/Serie que existen en el mercado, he descubierto que algunos de ellos tienen problemas dependiendo del driver del fabricante, pues dicho conversor trabajara adecuadamente si utilizamos el espacio de nombres System.IO.SerialPort.

Habitualmente recibiremos el siguiente error :
error '8020' en tiempo de ejecucion - Error al leer el dispositivo.

Entendiendo entonces que es un problema de adaptación entre el Driver del fabricante del conversor USB/Serie el control mscomm32.ocx y Vista, en estos momentos estoy colaborando con un fabricante para ver que posibilidades tenemos de resolver el problema en este escenario.

Estaré encantado de conversar con todos los interesados en saber más de todo esto, o en espera de resolver alguna situación similar.

Saludos,
Pep Lluis,

 

Comments

# re: Compatibilidad de aplicaciones que utilizan MSCOMM32.OCX en Windows Vista

Wednesday, July 11, 2007 6:49 AM by orujillo

Hola querria saber si existe alguna solucion para este problema,es que me pasa a mi con un conversor usb serie en un portatil,la marca del conversor es edgeport,espero vuestra ayuda,gracias y un saludo.

# re: Compatibilidad de aplicaciones que utilizan MSCOMM32.OCX en Windows Vista

Wednesday, July 11, 2007 8:50 AM by Pep Lluis

Segun las conversaciones que he tenido con el equipo de desarrollo del Driver de EdgePort, es un problema de la adaptacion para Windows Vista'.

Reporte el problema hace mas de un mes y estan trabajando en ello para solucionarlo... si te parece tan pronto como tenga noticias te aviso.

De todas formas no olvideis que existen marcas alternativas cuyos drivers estan funcionando perfectamente en Vista, si teneis algun tema urgente.

Saludos,

Pep Lluis

# re: Compatibilidad de aplicaciones que utilizan MSCOMM32.OCX en Windows Vista

Wednesday, July 11, 2007 1:33 PM by orujillo

Hola y gracias por responder,no tengo prisa asi que espero a que te digan algo,de todas formas si me puedes decir otro adaptador que vaya bien en win vista lo mirare si no es muy caro y decirme donde lo puedo pillar,gracias y un saludo.

# re: Compatibilidad de aplicaciones que utilizan MSCOMM32.OCX en Windows Vista

Thursday, July 12, 2007 12:33 PM by orujillo

Hola he probado unos genericos que se supone valen los he sacado de una pgna de confianza para el vista pero no valen para la marca que yo tengo(edgeport/1),he intentado con los de esta pagina: www.ftdichip.com/.../D2XX.htm para vcp y para D2XX version 2.02.04 que pone que es valido para el vista pero nada,si se te ocurre algo,gracias y un saludo.

# re: Compatibilidad de aplicaciones que utilizan MSCOMM32.OCX en Windows Vista

Thursday, July 12, 2007 4:15 PM by William

Tengo entendido que la version del control ActiveX MSCOMM versión 4.3 soluciona este problema pero no se de donde se descarga. Si alguien tiene alguna info al respecto lo agradecería.

w_mantilla@hotmail.com

# re: Compatibilidad de aplicaciones que utilizan MSCOMM32.OCX en Windows Vista

Friday, July 13, 2007 3:06 AM by orujillo

Hola,pues a ver si alguien lo sabe y lo probamos,de todas formas voy a intentar buscarlo,gracias y un saludo.

# re: Compatibilidad de aplicaciones que utilizan MSCOMM32.OCX en Windows Vista

Friday, July 13, 2007 3:19 AM by Pep Lluis

Existe una marca Belken que esta referenciada para trabajar en equipos con Vista.

La referencia la podeis encontrar a traves de HP y es 'EM449AA'. Si se trata de otro fabricante i/o portatiles, tambien teneis el PA088 de Targus.

Espero que esto os sea util.

Pep Lluis,

# re: Compatibilidad de aplicaciones que utilizan MSCOMM32.OCX en Windows Vista

Monday, August 27, 2007 5:03 AM by orujillo

Hola Pep Lluis,te han comunicado algo los de EdgePort sobre los drivers para el vista o no te han dado noticias?un saludo.

# re: Compatibilidad de aplicaciones que utilizan MSCOMM32.OCX en Windows Vista

Monday, September 03, 2007 5:15 AM by PepLluis

Hola Orujillo,

La ultima version testeada del driver fue el 4.36.0.0 (que no me funciona) y veo que aun esta en Beta... supongo que no tendremos la solucion hasta que puedan liberar una version de produccion. Tampoco he recibido mas noticias sobre el informe del problema.

Saludos,

Pep Lluis,

# re: Compatibilidad de aplicaciones que utilizan MSCOMM32.OCX en Windows Vista

Tuesday, September 04, 2007 2:05 AM by orujillo

Hola y gracias por responder,esperaremos a ver que pasa,un saludo.

# re: Compatibilidad de aplicaciones que utilizan MSCOMM32.OCX en Windows Vista

Thursday, September 13, 2007 5:40 AM by Rosana

¿funciona este control con windows 2000 server?es que me da un error que dice: Código de excepción OLE IDispatch 0 de MSComm:, y en windows xp me funciona perfectamente.Gracias.

# re: Compatibilidad de aplicaciones que utilizan MSCOMM32.OCX en Windows Vista

Thursday, September 13, 2007 6:01 AM by peplluis

Hola Rosana,

Yo nunca he tenido ningun problema en usarlo. Ahora mismo no recuerdo experiencias en Win2000 Server, aunque puedo asegurarte que en un proyecto lo utilizamos masivamente en Win2000 Prof y en principio no tendria porque haver ninguna diferencia.

En todo caso, puede que tengas un problema con el Driver del RS232 o su Adaptador... si te parece que no solucionas el problema podemos seguir esta conversacion en los foros de MSDN.

Tienes un link en los enlaces a la derecha de esta pagina.

Saludos,

# re: Compatibilidad de aplicaciones que utilizan MSCOMM32.OCX en Windows Vista

Thursday, September 13, 2007 11:05 AM by Rosana

Muchas gracias Peplluis.

Sigo sin solucionar el problema, y ya no se que probar, puse un adaptador usb-serie..entonces se me creo el COM3, pero me sigue dando error al leerlo.Una cosa es que cuando miro en administrador de dispositivos no veia ninguna informacion de los puertos, no entiendo porqué, hasta que puse lo del adaptador, y veo com3, pero no com1 y com2, no se si irá por ahi el tema.¿Algo que pueda probar?

Muchisimas gracias y perdona que no te contestara en el foro, como me has dicho, pero no sabia en cual de ellos tenia que hacerlo.

Saludos

# re: Compatibilidad de aplicaciones que utilizan MSCOMM32.OCX en Windows Vista

Thursday, September 13, 2007 11:21 AM by peplluis

Rosana,

Contacta conmigo utilizando el Link que tienes en la parte superior, en el recuadro 'This Bloc' opcion 'Contact'.

Para poder ayudarte, necesitaria que me enviaras un detalle de la aplicacion que estas utilizando con el MSCOMM32.ocx y en todo caso saber cuando y que error te da.

No olvides darme tu direccion de correo. (de esa forma tu direccion no quedara publica).

Espero tus noticias.

Pep Lluis,

# re: Compatibilidad de aplicaciones que utilizan MSCOMM32.OCX en Windows Vista

Friday, September 14, 2007 11:29 AM by peplluis

Bueno! entiendo que finalmente esta funcionando. No dudes en contactar conmigo de nuevo para cualquier consulta al respecto.

Saludos,

# re: Compatibilidad de aplicaciones que utilizan MSCOMM32.OCX en Windows Vista

Friday, September 14, 2007 2:06 PM by orujillo

Hola,yo la unica manera con la cual le hecho funcionar el edgeport/1 ha sido con win xp con el vista no hay manera,esperaremos que saquen el driver,un saludo.

# re: Compatibilidad de aplicaciones que utilizan MSCOMM32.OCX en Windows Vista

Wednesday, October 10, 2007 10:48 AM by Rosana

Hola.Hace poco contacté contigo sobre la lectura de puertos serie y el uso de mscomm32.ocx.Ahora me funciona bien.Pero me da un error que no se como solventar.Accedemos a una aplicacion varios usuarios mediante terminal server, y, por ejemplo, si un usuario entra y abre el puerto para leer, y en ese momento entra otro usuario en otro pc, tengo una instruccion que es:

IF !ThisForm.Modem.PortOpen

 ThisForm.Modem.PortOpen = .T.

ENDIF

el caso es que me da error, al abrirlo esta segunda vez, Código de excepción OLE IDispatch 0 de MSComm: Port already

open.

Si esta ya abierto no tendria que pasar por esta instrucción, y como pasa e intenta abrirlo es cuando da el error.

No se si me he explicado.Muchas gracias.

# re: Compatibilidad de aplicaciones que utilizan MSCOMM32.OCX en Windows Vista

Wednesday, October 10, 2007 11:02 AM by peplluis

Hola Rosana,

Pues en ese sentido lo tenemos mal. Solo una aplicacion puede abrir un puerto serie. En todo caso si necesitas compartir la información adquirida por el puerto serie, deberas montar un pequeño servidor, de manera que varios clientes puedan acceder simultaneamente a esos datos.

En el mercado tambien tenemos modulos Ethernet/Serie que son funcionalmente servidores y permiten compartir puertos serie con diversos clientes... pero valen su dinero.

Si te parece que necesitas mas informacion contacta conmigo a traves de 'Contacto' en la pagina inicial y continuamos esta conversacion en off.

Saludos,

# re: Compatibilidad de aplicaciones que utilizan MSCOMM32.OCX en Windows Vista

Wednesday, November 21, 2007 1:21 AM by upliftmofopartyplan1@hotmail.com

hola todos!!

disculpen la intromision, pero yo tengo un problema similar, salvo que no us adaptador USB a Serial.

yo intento usar un celular GSM Motorola que se conecta por usb. al modem me lo muestra como si fuera un dispositivo serie con un COM asociado.

si envio comandos AT+ por terminal el celular responde ok. pero no puedo hacer que funcione en VB (aclaro que uso VB6)

alguien pudo resolver el problema?

hay algun mscomm mas actual?

gracias

# re: Compatibilidad de aplicaciones que utilizan MSCOMM32.OCX en Windows Vista

Wednesday, November 21, 2007 1:36 AM by peplluis

Hola,

Creo que estamos hablando de lo mismo. En tu caso el propio dispositivo se conecta a traves de USB y es el fabricante quien suministra el Driver... pero tal driver tiene el problema de no trabajar bien la combinacion MSCOMM32 y Vista, pues es incapaz de recibir caracters. La unica solucion es desarrollarlo usando System.IO.Ports con Visual Studio 2005. (No olvides que puedes descargarte la version express).

Suerte,

Pep Lluis,

# re: Compatibilidad de aplicaciones que utilizan MSCOMM32.OCX en Windows Vista

Thursday, February 14, 2008 7:40 AM by Raúl ARG

Muchachos les comento que a partir de marzo del 2008 van a tener soporte para usr de vb6.0 aca les paso el link para que lo vean.

msdn2.microsoft.com/.../ms788708.aspx

Esto es según Microsoft

# re: Compatibilidad de aplicaciones que utilizan MSCOMM32.OCX en Windows Vista

Saturday, April 12, 2008 9:17 AM by Luis

Haber si entiendo, la unica solucion para usar el convertidor de usb a serial, es trabaja con system.io.ports?

# re: Compatibilidad de aplicaciones que utilizan MSCOMM32.OCX en Windows Vista

Wednesday, April 16, 2008 3:25 AM by peplluis

Asi es! a fecha de hoy... Abril 2008, el driver de algunos fabricantes no funciona si tu programa esta usando la combinacion  MSCOMM32.OCX en Vista, no ocurre lo mismo si utilizas System.IO.Ports con el que seguramente podras trabajar sin problemas.

PD. No he podido probar si el problema queda resuelto aplicando el SP1 de Vista...

# re: Compatibilidad de aplicaciones que utilizan MSCOMM32.OCX en Windows Vista

Friday, April 18, 2008 7:12 PM by Ing. Jonathan T C

COMO INSTALO O HABILITO System.IO.Ports Y PARA UN PROYECTO PERO NO PUEDO HACER QUE SE COMUNIQUE, GRACIAS

# re: Compatibilidad de aplicaciones que utilizan MSCOMM32.OCX en Windows Vista

Saturday, April 26, 2008 2:31 PM by peplluis

Hola Jonathan,

System.IO.Ports, esta en el Framework 2.0, por lo tanto disponible para programar utilizando la version de lenguajes de Visual Studio 2005 y posteriores.

Saludos,

# re: Compatibilidad de aplicaciones que utilizan MSCOMM32.OCX en Windows Vista

Monday, May 05, 2008 8:29 AM by Héctor Gastaminza

Tengo problemas en Vista con un sistema programado en VB6 y que usa el MSCOMM32.

Es importante aclarar que lo mas comun es que este sistema funcione con USB-COM debido a que las PCs/Notebooks nuevas estan viniendo sin puertos COM.

Este sistemita autodetecta la conexion de un equipo conectado al puerto COM de la PC. En XP anda bien, pero en Vista supuestamente detecta un equipo conectado aunque la PC (notebook) ni siquiera tiene puerto COM :S

Al parecer tengo problemas en toda la capa que utiliza el control. Ya que no se generan errores de ningun tipo (los cuales deberian ser capturados) y funciona muy mal.

Aca agrego algunas de las rutinas que uso. Estoy tratando de migrar a VB2005 para resolver los problemas de esta capa de comunicación (el costo es alto debido a que cambiaron muchas cosas en el resto de los controles comunes).

Si tienen algun comentario de las mismas me seria util.

Desde ya muchas gracias.

Public Function ConnectCom(ByRef myCom As AxMSCommLib.AxMSComm, ByRef strBps As String) As Boolean

On Error GoTo manejarError

Dim portnumber As Short

portnumber = myCom.CommPort

If (portnumber <> 0) And CheckPortCom(myCom, portnumber) Then

With myCom

.Settings = strBps & ",N,8,1"

.InputLen = 0

.PortOpen = True

.Handshaking = MSCommLib.HandshakeConstants.comNone

        .RTSEnable = true

End With

ConnectCom = True

Else

ConnectCom = False

...

End If

Exit Function

manejarError:

If Err.Number = 8005 Then

               ...

ConnectCom = False

End If

End Function

Public Function DisconnectCom(ByRef myCom As AxMSCommLib.AxMSComm) As Boolean

On Error Resume Next

myCom.PortOpen = False

If Err.Number = 0 Then

DisconnectCom = True

Else

DisconnectCom = False

End If

End Function

Public Function CheckPortCom(ByRef myCom As AxMSCommLib.AxMSComm, ByRef intPortNumber As Short) As Boolean

On Error GoTo manejarError

CheckPortCom = True

If isPortComOpen(myCom) Then

Call DisconnectCom(myCom)

End If

With myCom

.CommPort = intPortNumber

.PortOpen = True

.PortOpen = False

End With

Exit Function

manejarError:

If Err.Number = 8002 Then

CheckPortCom = False

End If

End Function

PD: Desde ya muchas gracias

# re: Compatibilidad de aplicaciones que utilizan MSCOMM32.OCX en Windows Vista

Monday, May 05, 2008 11:07 AM by peplluis

Hola! Héctor Gastaminza,

En el caso de los conversores USB-RS232, el uso de MSCOMM32.ocx y programas hechos en Visual Basic 6, no entrañan dificultad o incompatibilidad de ejecucion. Lo mas habitual es que el adaptador "driver" suministrado por el fabricante no este funcionando o no este diseñado para funcionar en Vista. Despues de estudiar algunos casos, he podido verificar que programas que utilizan MSCOMM32 funcionan perfectamente con adaptadores concretos. Por ejemplo TARGUS PA088 funciona! sin embargo el driver de EdgePort no. Pero en todos los casos funciona si el puerto esta incorporado en la electronica del PC.

Si requieres continuar la conversacion, puedes contactar conmigo desde [This Blog] [Contact]

Saludos,

Pep Lluis,

Leave a Comment

(required) 
(required) 
(optional)
(required)