• Martes 20 de Octubre de 2020, 22:52

Autor Tema:  No Se Controló System.stackoverflowexception  (Leído 18890 veces)

Neopro

  • Miembro MUY activo
  • ***
  • Mensajes: 316
    • Ver Perfil
No Se Controló System.stackoverflowexception
« en: Lunes 19 de Febrero de 2007, 15:26 »
0
Buenas, de nuevo molestando, pero JuanK ya me dio la solucion a mi problema anterior, el problema que tengo ahora en el mismo codigo es que al generarlo no me produce ni un solo problema, sino que cuando lo voy a depurar me envia el sgte. mensaje:

No se controló System.StackOverflowException

Y me señala una funcion llamada por mi, del tipo:

Funcion nuevafuncion = new Funcion();

Esto lo estoy haciendo para acceder a funciones desde otras Clases y Forms

Mensajes de error del compilador:

Excepción no controlada del tipo 'System.StackOverflowException' en Programa.exe

{No se puede evaluar la expresión porque el subproceso actual está en un estado de desbordamiento de pila.}

Asegúrese de que no tiene ningún bucle infinito ni recursividad infinita.

Que puedo hacer para que esto no se produzca?, no tengo ni un bucle infinito como para que suceda eso.

Muchas gracias.
              [size=109]"Has lo que digo y no hagas lo que hago"[/size]

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: No Se Controló System.stackoverflowexception
« Respuesta #1 en: Lunes 19 de Febrero de 2007, 15:29 »
0
Tienes una invocación recursiva dentro del programa, revisa pues así como se ve muy probablemente dentro del constructor de Función :

Funcion nuevafuncion = new Funcion();

Estas invocando a una función recursiva o estas invocando nuevamente a un objeto de tipo Funcion .
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

Neopro

  • Miembro MUY activo
  • ***
  • Mensajes: 316
    • Ver Perfil
Re: No Se Controló System.stackoverflowexception
« Respuesta #2 en: Lunes 19 de Febrero de 2007, 15:35 »
0
Muchas gracias por tu pronta respuesta.

Mira, si hay una llamada a otra funcion dentro de la clase, y la otra clase llama a al clase madre, pero en ningun caso lo hacen de manera infinita.

Se puede hacer eso? o simplemente no debo hacer mas de una llamada?.

Aunq al anular las llamadas, me refiero a dejarlas como comentario, igual me envian error.
              [size=109]"Has lo que digo y no hagas lo que hago"[/size]

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: No Se Controló System.stackoverflowexception
« Respuesta #3 en: Lunes 19 de Febrero de 2007, 15:41 »
0
hay que ver código fuente...
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

Neopro

  • Miembro MUY activo
  • ***
  • Mensajes: 316
    • Ver Perfil
Re: No Se Controló System.stackoverflowexception
« Respuesta #4 en: Lunes 19 de Febrero de 2007, 15:46 »
0
Por lo que me estoy dando cuenta el compilador toma como recursiva, cualquier llamada desde una clase a otra y vice versa, aunque realmente no se produzca recursividad. Ese es el problema que tengo ahora al cambiar los metodos de static a llamadas por funcion como me lo explicaste anteriormente. Aunque el error que tenia antes era que el compilador me creaba el main en un archivo.cs aparte, que no encontraba, a veces lo hacía en el Form1.cs.

Y creo por lo tanto que no podre cambiar todo lo que tenia pensado de static a llamadas por funcion, por culpa de la recursividad que no existe, pero que si detecta.
              [size=109]"Has lo que digo y no hagas lo que hago"[/size]