Crear dinámicamente evento _DataReceived

17/01/2009 - 18:35 por León | Informe spam
hola listeros,

les cuento lo que quiero hacer:
Estoy desarrollando una aplicación en la que leo por el puerto serial (por
el momento, depronto mas adelante
puede ser el USB), un dato que llega. Hasta ahí todo normal.

El problema que tengo es que el pc puede tener varios puertos seriales y
pueden conectar el cable por cualquiera
de ellos, así que lo que quiero es que cuando conecten el cable,
automáticamente se configure el puerto sin
que el usuario necesite hacer nada y la aplicación comience a recibir datos.

Ya sé como obtener todos los nombre de los puertos seriales del pc, pero lo
que no sé es cómo hago para vincularle el
evento _DataReceived a los puertos, dinámicamente, he sabido que se puede
hacer, que con un delegado ó algo
así, pero no he podido dar con alguna información al respecto.

Si me pueden ayudar, así sea una luz, les agradezco infinitamente,

de Antemano, muchas gracias listeros.

fausto
 

Leer las respuestas

#1 Octavio Hernandez
18/01/2009 - 12:20 | Informe spam
Hola,

Primero, crea un método en el que pongas lo que quieres hacer cuando se
produzca el evento:

private void datosRecibidos(object sender,
SerialDataReceivedEventArgs datos)
{
// aquí programas lo que quieres hacer
// a través de "datos" tienes acceso a los parámetros del evento
}

Cuando en tu programa quieras conectar asociar ese método al evento
DataReceived de un componente de puerto serie, haces:

serialPort1.DataReceived += datosRecibidos:

Y cuando lo quieras "desconectar":

serialPort1.DataReceived -= datosRecibidos:

Slds - Octavio


"León" wrote in message
news:O%
hola listeros,

les cuento lo que quiero hacer:
Estoy desarrollando una aplicación en la que leo por el puerto serial (por
el momento, depronto mas adelante
puede ser el USB), un dato que llega. Hasta ahí todo normal.

El problema que tengo es que el pc puede tener varios puertos seriales y
pueden conectar el cable por cualquiera
de ellos, así que lo que quiero es que cuando conecten el cable,
automáticamente se configure el puerto sin
que el usuario necesite hacer nada y la aplicación comience a recibir
datos.

Ya sé como obtener todos los nombre de los puertos seriales del pc, pero
lo que no sé es cómo hago para vincularle el
evento _DataReceived a los puertos, dinámicamente, he sabido que se puede
hacer, que con un delegado ó algo
así, pero no he podido dar con alguna información al respecto.

Si me pueden ayudar, así sea una luz, les agradezco infinitamente,

de Antemano, muchas gracias listeros.

fausto



Preguntas similares