Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Mensajes Windows al recibir del puerto serie

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Mensajes Windows al recibir del puerto serie Responder citando

Hola!

¿Alguien sabe qué mensaje(s) de Windows o C++ Builder sirven para detectar si se ha recibido algo por el puerto serie?

Gracias por adelantado.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Porque no utilizas componentes que realizan este trabajo y te generan un evento cuando tienes datos en el puerto serie.
_________________
Crandel

"hay 10 tipos de personas, las que ven en binario y las que no"

Angel Zeitoune - Artículo: Generación de eventos en C++Builder
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

Hasta ahora utilizaba el componente VaComm que encontré en Internet y que iba bien, pero en algunos ordenadores nuevos me da error algunas veces al cerrar el puerto, no sé si debido al Windows XP o algún tipo de configuración del ordenador.

Encontré una versión nueva de dicho componente, pero al iniciar cualquier aplicación en la que lo utilizaba, aparecía un mensaje de "Evaluation version" o algo así.

Entonces decidí intentar crear mi propio componente, puesto que ya habá hecho hace tiempo un módulo para manejar el puerto, y lo único que me faltaba era controlar el evento al recibir datos.

En un primer momento lo hize con hilos, siguiendo algún ejemplo de este foro, pero ya se sabe que los hilos son una fuente de problemas y cuando empecé a encontrarme con ellos pensé en hacerlo con mensajes, y aquí me encuentro en estos momentos.

Si alguien sabe de algun componente que valga la pena también se lo agradeceré, pero ya que he llegado hastá aquí me gustaría terminar el mío propio, así que cualquier ayuda me sería de gran utilidad.

Gracias y perdonad por todo el rollo que os he soltado (Crandel, eso pasa por haber preguntado Wink )

Un saludo.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

yo siempre utilice los componentes AsyncFree http://sourceforge.net/projects/asyncfree, funcionan muy bien pero estan en delphi, podrias probar compilarlos en CBuilder (nunca probe).

Vienen con el código fuente, asi que de última tambien podes mirar el código para dessarrollar los tuyos.

Con respecto a los hilos, realmente creo que debe estar dentro de un hilo, he progrado varias veces adquisición de datos desde puertos o placas adquisidoras y realmente es el mejor resultado que da.

Una ves que obtenes datos, generas un evento para que el usuario lo capture y listo.

Espero que te de una idea y suerte.
_________________
Crandel

"hay 10 tipos de personas, las que ven en binario y las que no"

Angel Zeitoune - Artículo: Generación de eventos en C++Builder
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

Bueno, pues al final conseguí que funcionara con hilos, aunque se me presentó el siguiente problema: si en el evento que se ejecuta cuando se reciben datos (es decir, el que ejecuta el hilo) mostraba un formulario, éste debía quedar de alguna manera vinculado al hilo, pues cuando destruía el formulario con delete se me paraba para siempre la ejecución en dicha instrucción. No entiendo muy bien por qué se producía esto, pero conseguí solucionarlo si en lugar de que el hilo llamara directamente a la función del evento, mandara un mensaje a un módulo auxiliar, que era el que llamaba entonces a la función. Al final la cosa quedó un poco complicada, pero bueno, el caso es que resultó.

Un saludo.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Esteban escribió:
si en el evento que se ejecuta cuando se reciben datos (es decir, el que ejecuta el hilo) mostraba un formulario, éste debía quedar de alguna manera vinculado al hilo, pues cuando destruía el formulario con delete se me paraba para siempre la ejecución en dicha instrucción.


No creo que sea una práctica muy correcta mostrar un formulario durante la ejecución de un hilo, aunque se puede hacer, lo que te recomendaria es que tus componentes no muestren nada visual.

Simplemente se generen eventos cuando tengan datos disponibles o ante determinados sucesos.
_________________
Crandel

"hay 10 tipos de personas, las que ven en binario y las que no"

Angel Zeitoune - Artículo: Generación de eventos en C++Builder
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

No, el formulario no se muestra. Es sólo un "soporte" para captar mensajes, pues según un ejemplo que encontré en un libro se necesita un formulario auxiliar para que un componente reciba mensajes.

Sin embargo, cuando se compila el componente y se usa en el entorno de desarrollo de C++Builder, el usuario no ve nada de eso.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Ah! y el formulario que digo que se muestra -quizá no me expliqué bien- lo hago una vez que ya estoy usando el componente en una aplicación independiente, en el evento OnDataRec, que así es como llamo al evento que se produce cuando se recibe algún dato por el puerto.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Realmente nonecesitas ningún formulario para captar un evento. Lo unico que es indispensable, es que se asigne a un método de una clase.

Es solo una opinión, abria que ver en realidad un poco mas tu diseño
Volver arriba
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.