Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Exeption EStackOverflow (https://www.clubdelphi.com/foros/showthread.php?t=23922)

Luana 02-08-2005 16:28:26

Exeption EStackOverflow
 
Hola a Todos!! Me aparece el siguiente error en la máquina del cliente al iniciar la aplicación, no deja ni siquiera cargar los formularios(en la máquina que estoy realizando el sistema funciona perfectamente):

Exeption EStackOverflow in module SISTEMA.EXE at 000A767D

No sé a que se puede deber el problema, buscando en los hilos encontré que quizás pudiera ser algún problema de recursión pero en mi máquina funciona, tambien encontré que quizás tuviera problemas el path que esté utilizando, probé de ponerlo en un path corto sin espacios y me funcionó bien una vez.

Bueno, si alguien supiera a qué se puede deber este error les agradecería su ayuda.

NOTA: Delphi 6, Access 2000 conectado con ADO.

Neftali [Germán.Estévez] 02-08-2005 16:34:05

Con esa información es difícil saber qué puede estar pasando.
Deberías probar a ejecutar paso a paso para detectar dónde puede fallar.
Encontrar diferencias enre ambas máquinas e intentar que el entorno sea el mismo. Por ejemplo si estás trabajando con ADO revisa que ambas tegan la misma versión de las MDAC.
¿Trabajan con el mismo S.O?
¿Utilizas algun componente externo que no sea estandard de Delphi?
Elimina formularios del AutoCreate -si los tienes- e intenta cargar sólo el principal a ver si sigue fallando.
¿Tienes algun código en el DPR?

dec 02-08-2005 16:47:00

Hola,

La propia excepción ofrece información acerca de los posibles problemas que pueden causarla.

Esto puede aportar ideas acerca de dónde y porqué un sistema está causando dicha excepción:

Cita:

Empezado por Ayuda de Delphi
EStackOverflow is the exception class for stack overflows.

Unit

SysUtils

Description

EStackOverflow is raised when the system is unable to allocate necessary stack space. This can happen because of extremely large local variables, deeply recursive routines, or invalid machine-language code.

Run-time exception information is saved in fields provided by EExternal.


Lepe 02-08-2005 18:10:11

en estos casos, lo único que te puede ayudar es un buen "log de session".

Create un TstringList, al que le vas añadiendo mensajes que te digan exactamente por donde va el programa.
Código:

Log de sesion empezado el 2/8/2005 18:45
Entrando en función "tal y cual pascual"
Creando Datamodule DtmPrincipal
asignando conexion de ado
abriendo sesion
....

Añade un ApplicationsEvent, y en el evento OnException, guarda ese TstringList a un fichero de texto (guardando en c:\Sistema.Log) no tendrás problemas de rutas largas ni otras artimañas.

Despues toca empezar a estudiar el por qué.

Un saludo

Cabanyaler 03-08-2005 08:15:01

Controla o la recursión, como bien dices anteriormente así como las llamadas ciclicas entre eventos o procedimientos, es decir que el procedimento A llame al B y el B a A, produciendose un abrazo mortal infinito, el cual en tiempo de compilación no canta el error, pero si es un error de programación.
Suerte.


La franja horaria es GMT +2. Ahora son las 16:10:53.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi