FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
La Aplicacion se cierra...
Colegas....
Tengo un problemita que talvez sea un problemon: ES sencillo, cuando entro a un modulo del programa....toda la aplicacion se me cierrra... Creo que es un error algo asi: Stack overflow...algo asi como memoria que se desborda....creo que debo revisar que no se libera...pero a ver si ustedes les ha pasado y pueden decirme alguito. Les agradesco cualquier ayuda Luis Castillo
__________________
LK |
#2
|
||||
|
||||
El Stack es la pila donde se "apilan" todos los punteros de procedimientos, parámetros... Si estas llamando a un procedimiento recursivamente una gran cantidad de veces, desbordarás la pila y veras ese mensaje de error.
Puedes ver la pila de llamadas (sin sus parámetros) desde el menú View \ Debug Windows \ Call Stack. Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#3
|
||||
|
||||
En realidad el mensaje de error te indica que lo que se ha desordado es la pila, seguramente tienes algún procedimiento que se invoca recursivamente y no termina.
Es dificíl que la pila se desborde con la operación normal de una aplicación, revisa bien si existe un procedimiento que se llame a si mismo y entra en un ciclo infinito. Saludos. |
#4
|
||||
|
||||
Se me ha adelantaado Federico, bueno el caso es que las respuestas mas o menos coinciden.
Saludos. |
#5
|
|||
|
|||
Nota
PUes me he dado cuenta que se cierra la aplicacion cuando abro una tabla...
Incluso cuando en en tiempo de diseño abro la tabla, se cierra hasta delphi... O sea, No es una llamada a un procedimiento Que opinan Gracias...
__________________
LK |
#6
|
|||
|
|||
Fijate en los eventos de la tabla, a mi paso algo parecido y era un evento de la tabla que tenia codigo erroneo.
__________________
Suerte Alejandro |
#7
|
||||
|
||||
Puede estar ocurriendo una llamada recursiva indirecta:
Suponé el código:
Irremediablemente ocurrirá un EStackOverflow cuando se llame a el procedimiento a o b. Es comun entrar en un ciclo recursivo indirecto, por ejemplo, modificando el valor de un campo en su propio evento OnChange, sin una condición que rompa el ciclo recursivo o un control adecuado de la misma. Te recomiendo tratar de seguir el código paso a paso, observando en todo momento si no estas en esta situación. Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
|
|