Ir al contenido



Foto

Error de Referencia Nula


  • Por favor identifícate para responder
8 respuestas en este tema

#1 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 13.424 mensajes
  • LocationMéxico

Escrito 07 octubre 2011 - 09:34

Hola

Estoy creando un proceso en C# y me está generando una excepción que dice:

An unhandled exception of type "System.NullReferenceException" ocurred in MyApp.exe
Additional information: Object reference not set to an instance of an object.


La cuestión es como sigue:

[csharp]

webService wsMyApp = new webService();
loginResponse wslResponse = loginResponse();
loginData wslData = loginData();

wslData.user = "usuario";
wslData.password = "password";

wslResponse = wsMyApp.login(wslData); // Aquí me envía el error

[/csharp]

Alguien tendrá idea de porque pasa eso ?

SaludOS y gracias

  • 0

#2 escafandra

escafandra

    Advanced Member

  • Moderadores
  • PipPipPip
  • 3.615 mensajes
  • LocationMadrid - España

Escrito 07 octubre 2011 - 09:57

¿Has comprobado que wsMyApp != 0?

Saludos.
  • 0

#3 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 13.424 mensajes
  • LocationMéxico

Escrito 07 octubre 2011 - 10:10

¿Has comprobado que wsMyApp != 0?

Saludos.


Vaya, ahora veo el error  ^o| ^o| ^o|

Esta línea:

[csharp]

webService wsMyApp = new webService();
[/csharp]

la tenía en  el método

[csharp]

public Form1()
{
......
  webService wsMyApp = new webService();
......
}
[/csharp]

Lo he puesto en el evento del botón y ya funcionó, que curioso, he usado otros webservice y así funciona bien.  (li) Un día perdido por una estupidez.

Gracias amigo, tu pregunta me abrió los ojos,    (b) (b) (b)

Salud OS
  • 0

#4 escafandra

escafandra

    Advanced Member

  • Moderadores
  • PipPipPip
  • 3.615 mensajes
  • LocationMadrid - España

Escrito 07 octubre 2011 - 11:53

¿No será porque declaraste un wsMyApp como variable local del constructor?

Saludos.
  • 0

#5 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 13.424 mensajes
  • LocationMéxico

Escrito 07 octubre 2011 - 12:02

¿No será porque declaraste un wsMyApp como variable local del constructor?

Saludos.


Pues si, creo que por ahi van los tiros, tenia esto:

[csharp]
private webService  wsMyApp = null;
[/csharp]

Lo raro es que con otro webservice así funciona sin mayor problema, en fin, este es otro tipo de webservice. :)

Ahora estoy experimentando un error de timeout en otro método que ejecuto después de hacer login, ya le he dicho que espere 20 segundos pero sigue sin respuesta. Ya te dejo saber que pasa con eso :)

Salud OS
  • 0

#6 escafandra

escafandra

    Advanced Member

  • Moderadores
  • PipPipPip
  • 3.615 mensajes
  • LocationMadrid - España

Escrito 07 octubre 2011 - 12:10

Yo me refería a que declaras webService como miembro de la clase y lo redeclaras en el constructor con lo que el miembro de la clase queda escondido y al inicializar el valor no estas actuando en el miembro que sigue con valor nulo...

Inicializalo en el constructor pero no lo redeclares...


Saludos.

  • 0

#7 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 13.424 mensajes
  • LocationMéxico

Escrito 07 octubre 2011 - 12:26

Yo me refería a que declaras webService como miembro de la clase y lo redeclaras en el constructor con lo que el miembro de la clase queda escondido y al inicializar el valor no estas actuando en el miembro que sigue con valor nulo...

Inicializalo en el constructor pero no lo redeclares...


Saludos.


Caramba, hoy debo estar pensando en el conejo :D :D :D, no entendí lo que me dices amigo, recuerda que C# no es mi fuerte, aunque tengo una que otra aplicación que por obra y gracia de Dios he desarrollado  :D :D :D y aunque a veces no me lo creo he vendido dentro y fuera de mi país  (h)

Salud OS
  • 0

#8 escafandra

escafandra

    Advanced Member

  • Moderadores
  • PipPipPip
  • 3.615 mensajes
  • LocationMadrid - España

Escrito 07 octubre 2011 - 12:45

... no entendí lo que me dices amigo, recuerda que C# no es mi fuerte...


Tampoco es mi fuerte...

Yo me refiero a esto:

[csharp]
public class Form1 : Form
{
    private webService  wsMyApp;
   
    //........................

    public Form1()
    {
        this.wsMyApp = new webService();
        //..........................................
    }
    //.........................
[/csharp]


Saludos.
  • 0

#9 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 13.424 mensajes
  • LocationMéxico

Escrito 07 octubre 2011 - 12:51

Hola amigo

Si, en efecto así lo estaba "escribiendo", pero lo raro, como te comento, es que otro webservice que consumo lo tengo así y ahí no tengo problema alguno.

En fin, las cosas que uno aprende a golpes :D :D :D

Salud OS
  • 0