Título: [QT C++] Como salir del bucle?? Publicado por: x7uk en 28 Noviembre 2012, 16:56 pm Hola! Bueno programe un soft en C++ con Qt que envia y recibe datos por el puerto serie de la PC. Funciona perfecto pero ahora intentaba programar que busque automaticamente cual de los 16 puertos (COM) esta abierto y ahi el problema!
Pondre esa parte del codigo primero: Código: QList<QString> puertos; Ahora bien, si por ejemplo tengo el COM7 abierto, el programa arranca prueba hasta ese COM y como esta abierto ahi queda y funciona perfecto. El problema es cuando TODOS LOS COM ESTAN CERRADOS. Ya que al parecer entra en uN bucle infinito y el programa se cuelga :( Como puedo hacer para que esto deje de pasar? y en lugar de colgarse ejecute el ultimo bloque y mande al form que "TODOS LOS PUERTOS ESTAN CERRADOS" como quiero? :/ Gracias de antemano! se que tengo varios errores ahi ojala me puedan ayudar! Título: Re: [QT C++] Como salir del bucle?? Publicado por: febef en 28 Noviembre 2012, 17:12 pm Hola!
Creo que el problema esta acá el bucle while esta de más. Código
Al poner este bucle estamos recorriendo todos los elementos de COM, por lo tanto se va a conectar a todos los que pueda. Lo que tendrías que hacer es cuando ya este conectado a uno salir del foreach. Por otro lado el foreach solo pasa una vez por cada elemento por lo que no va a seguir probando siempre. Con el while lo que hacías es después de probar una vez con cada uno lo volvía a hacer si no tenia conexión. Si hay algo que haga q el while tenga que estar si o si entonces cambialo por una for que repita el procedimiento x veces ejemplo: Código
edit: Es más si cambias el foreach por un for podes hacer que termine cuando haya conectado... Título: Re: [QT C++] Como salir del bucle?? Publicado por: x7uk en 28 Noviembre 2012, 17:20 pm Tenias razon! saque el while y problema solucionado! ya funciona bien :) Mil gracias Fex!
Título: Re: [QT C++] Como salir del bucle?? Publicado por: febef en 28 Noviembre 2012, 17:21 pm De nada :D |