Pascal/Turbo Pascal - Estu

 
Vista:

Estu

Publicado por Kano (12 intervenciones) el 11/04/2007 17:14:31
Buenos días!!!
Tengo un problema, y es el siguiente:
Al intentar correr un simple programa con 3 variables tipo aputador obtengo el Error 203 Heap overflow.
¿Cómo puedo hacer para evitar dicho inconveniente?
Estoy usando Turbo Pascal 7.0
Bueno, les agradezco mucho la ayuda que me pudieran prestar.

(Favor contestarme a mi correo)

Hasta luego
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:203 Heap overflow error

Publicado por Kano (12 intervenciones) el 11/04/2007 17:15:40
Disculpen el título correcto es este: 203 Heap overflow error
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Estu

Publicado por micropais (209 intervenciones) el 13/04/2007 14:07:44
HOLA Kano .

203:HEAP OVERLOW ERROR (error de desbordamiento de pila)

Revisa tu code pues has sobrepasado el espacio reservado para la pila,
la pila en TP7 es una zona de memoria de 64k que crece hacia la memoria
baja , cuando la sobrepasas escribes directamente en los datos o codigo de programa , por eso no esta permitido , ya que se comeria tu propio programa.

Si estas utilizando punteros debes controlarlos, tambien puede ser por abusar de las librerias y que no te quede espacio para la pila.

Manda tu code que de seguro que tienes algo mal .
desde aquí podriamos echarle un vistazo y ver a que se puede deber dicho error .

Un consejo... pasate a FREE-PASCAL para DOS o WINDOS con este puedes usar
hasta 2 gigas de memoria ,(arrays de mas de 64k ) aunque el tema de la pila todavia no se como va bajo FREE ,pero te puedes ahorrar librerias usando ficheros include por ejemplo.

SALUDOS.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error 203 Desbordamiento de montículo

Publicado por Kano (12 intervenciones) el 13/04/2007 15:33:19
Gracias por el comentario. Te envío el sencillo código que he escrito, y que produce dicho error.

program punteros; {Ejemplifica la implementaci¢n de
punteros en Pascal. Este programa es un ejemplo bastante simple.}
uses crt;

type
pt1= ^arbol;

arbol = record
info: string[20];
izq, der: pt1;
end;

var
raiz,pi,pd: pt1;
begin
clrscr;
new(raiz);new(pi);new(pd);
raiz^.info:= 'uno';
raiz^.izq:= pi;
raiz^.der:= pd;
pi^.info := 'dos';
pd^.info := 'tres';

end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error 203 Desbordamiento de montículo

Publicado por Diego Romero (996 intervenciones) el 14/04/2007 11:53:59
A mi no me causa ningún en error en TP7.
Sin embargo sospecho mucho de que uses new pero luego no hagas dispose de los punteros para liberar la memoria.

Por otro lado ten cuidado con el identificador "pi" pues se corresponde con una constante predefinida en Pascal del mismo nombre, especialmente no estoy seguro qué sucede en esta línea:

raiz^.izq:= pi;

ese "pi" puede causar problemas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error 203 Desbordamiento de montículo

Publicado por Kano (12 intervenciones) el 14/04/2007 15:44:20
Gracias, Diego seguiré ahora mismo tu recomendaciòn y luego te cuento.

Chao!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Estu

Publicado por micropais (209 intervenciones) el 14/04/2007 12:12:15
Saludos a Kano y a Diego Romero.

Hola KANO yo tambien he probado tu code bajo FREE-PASCAL y BAJO TURBOPASCAL 7.0 y el programa no me genera errores.

Deberias ver si algien te ha gastado una broma , metete en el menu..

- menu/compile/information

program
______________________
source compiled
code size
data size
stack size 16384 bytes ** <-- mira aqui a ver cuanto tienes
maximun heap size 65536 bytes
_____________________________________
o aquí -> menu /option/memory sizes
stack size 16384
low heap limit 0 bytes
high heap limit 65536 bytes

Mira si tienes estos valores por defecto o tienes menos cantidad , estos valores se pueden cambiar mediante directivas de compilacion (que tu no usas) o cambiando los valores manualmente (una posible broma de algun duende ).

SALUDOS y manda tus valores para ver si es eso o es otra cosa.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar