Eventos

21/10/2005 - 12:45 por Pedro Rivera | Informe spam
No habia trabajado con eventos y estoy teniendo problemas con el siguiente
codigo, que solo funciona si hago que el evento sea "static":

public class MiClase
{
public delegate void Delegado(object sender, System.EventArgs e);
public event Delegado Error;

public MiClase()
{
}

public void MiFuncion()
{
System.EventArgs e=new System.EventArgs();
this.Error(this, e);
}

}

El error que me aparece es que Error es <indefined value>. El evento lo
atrapo desde formularios en Visual Basic Net.

¿que me falta hacer?

Preguntas similare

Leer las respuestas

#1 Octavio Telis Aynés
21/10/2005 - 21:03 | Informe spam
Prueba declarando el delegado fuera de la clase, pero en el mismo namespace,
creo que así te puede funcionar.

No dejes de comentar si se corrigió tu problema.

Espero sea de utilidad.

Saludos...

Octavio Telis Aynés
http://otelis.blogspot.com


"Pedro Rivera" escribió en el
mensaje news:
No habia trabajado con eventos y estoy teniendo problemas con el siguiente
codigo, que solo funciona si hago que el evento sea "static":

public class MiClase
{
public delegate void Delegado(object sender, System.EventArgs e);
public event Delegado Error;

public MiClase()
{
}

public void MiFuncion()
{
System.EventArgs e=new System.EventArgs();
this.Error(this, e);
}

}

El error que me aparece es que Error es <indefined value>. El evento lo
atrapo desde formularios en Visual Basic Net.

¿que me falta hacer?
Respuesta Responder a este mensaje
#2 Pedro Rivera
22/10/2005 - 09:02 | Informe spam
Que tal Ocatavio, de hecho, tengo el delegado declarado aparte, para que los
puedan usar varias clases pues siempre es del mismo tipo. Todo funciona bien
porque la mayoria de las clases tienen funcones static que son las que
disparan el evento static de tipo delegado. Pero en la clase final, que no
cuenta con funciones static, si el evento no es static, no funciona.
¿Que estara pasando? Eso de undefined value me ha aparecido en otras
ocasiones para indicar que un objeto vale null. ¿Debo inicializar el evento?
¿Como se hace?

"Octavio Telis Aynés" escribió:

Prueba declarando el delegado fuera de la clase, pero en el mismo namespace,
creo que así te puede funcionar.

No dejes de comentar si se corrigió tu problema.

Espero sea de utilidad.

Saludos...

Octavio Telis Aynés
http://otelis.blogspot.com


"Pedro Rivera" escribió en el
mensaje news:
> No habia trabajado con eventos y estoy teniendo problemas con el siguiente
> codigo, que solo funciona si hago que el evento sea "static":
>
> public class MiClase
> {
> public delegate void Delegado(object sender, System.EventArgs e);
> public event Delegado Error;
>
> public MiClase()
> {
> }
>
> public void MiFuncion()
> {
> System.EventArgs e=new System.EventArgs();
> this.Error(this, e);
> }
>
> }
>
> El error que me aparece es que Error es <indefined value>. El evento lo
> atrapo desde formularios en Visual Basic Net.
>
> ¿que me falta hacer?




Respuesta Responder a este mensaje
#3 Octavio Telis Aynés
23/10/2005 - 03:26 | Informe spam
No podría decirlo a ciencia cierta, sin embargo estaré investigandolo para
ver si puedo reproducir el mismo error.

Lamento no haber sido de mucha ayuda

Saludos.

Octavio Telis Aynés
http://otelis.blogspot.com

"Pedro Rivera" wrote in message
news:
Que tal Ocatavio, de hecho, tengo el delegado declarado aparte, para que


los
puedan usar varias clases pues siempre es del mismo tipo. Todo funciona


bien
porque la mayoria de las clases tienen funcones static que son las que
disparan el evento static de tipo delegado. Pero en la clase final, que no
cuenta con funciones static, si el evento no es static, no funciona.
¿Que estara pasando? Eso de undefined value me ha aparecido en otras
ocasiones para indicar que un objeto vale null. ¿Debo inicializar el


evento?
¿Como se hace?

"Octavio Telis Aynés" escribió:

> Prueba declarando el delegado fuera de la clase, pero en el mismo


namespace,
> creo que así te puede funcionar.
>
> No dejes de comentar si se corrigió tu problema.
>
> Espero sea de utilidad.
>
> Saludos...
>
> Octavio Telis Aynés
> http://otelis.blogspot.com
>
>
> "Pedro Rivera" escribió en el
> mensaje news:
> > No habia trabajado con eventos y estoy teniendo problemas con el


siguiente
> > codigo, que solo funciona si hago que el evento sea "static":
> >
> > public class MiClase
> > {
> > public delegate void Delegado(object sender, System.EventArgs e);
> > public event Delegado Error;
> >
> > public MiClase()
> > {
> > }
> >
> > public void MiFuncion()
> > {
> > System.EventArgs e=new System.EventArgs();
> > this.Error(this, e);
> > }
> >
> > }
> >
> > El error que me aparece es que Error es <indefined value>. El evento


lo
> > atrapo desde formularios en Visual Basic Net.
> >
> > ¿que me falta hacer?
>
>
>
>
Respuesta Responder a este mensaje
#4 Miguel Angel Campos
24/10/2005 - 17:03 | Informe spam
Hola Pedro,

deberías verificar si existe alguien subscrito a tu evento:
if (Error != null)
{
this.Error(this, e);
}
Lo que no entiendo es por que dices que al ponerlo static si funciona.
Un Saludo,

Miguel Angel Campos
MCAD.NET

"Pedro Rivera" escribió en el
mensaje news:
No habia trabajado con eventos y estoy teniendo problemas con el siguiente
codigo, que solo funciona si hago que el evento sea "static":

public class MiClase
{
public delegate void Delegado(object sender, System.EventArgs e);
public event Delegado Error;

public MiClase()
{
}

public void MiFuncion()
{
System.EventArgs e=new System.EventArgs();
this.Error(this, e);
}

}

El error que me aparece es que Error es <indefined value>. El evento lo
atrapo desde formularios en Visual Basic Net.

¿que me falta hacer?
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida