Autor |
Mensaje |
Mafia
Nivel 9
Edad: 34
Registrado: 16 Ago 2008
Mensajes: 4451
Ubicación: en el Mafia-Movil
Carrera: Civil
|
|
tengo un problema con pascal, (free pascal):
tengo el programa, andaba, pero ahora me empezo a tirar este error
201 Range check error significa Error en la comprobación de rango
cada vez q hago varias cosas ( principales ), como un error de rango de la matriz, pero no encuetro q es lo q esta mal (porque compilar compila).
alguien me puede guiar un poco??
desde ya , gracias
|
|
|
|
_________________ Saludos, Ing. Mafia
|
|
|
|
|
Sebacuervo
Nivel 4
Edad: 39
Registrado: 23 Oct 2006
Mensajes: 107
Carrera: Informática
|
|
Hola, sinceramente ya ni me acuerdo de pascal, pero en general cuando tenés que ubicar un error en tiempo de ejecución, lo primero es ubicar en qué parte del código el programa está pinchando.
No recuerdo si tenés el modo debug (depuración) en pascal... podés ir poniendo sino líneas de código que muestren un "pasó" por la pantalla en la zona que considerás sospechosa.
Una vez que ubicaste la/s líneas con error, tratá de hacer lo mismo de otra forma, o consultá al tío google sobre tu error específico que algo seguro encontrás.
Espero te sirva... saludos!
|
|
|
|
_________________ Seba.
|
|
|
|
|
Ignium
Nivel 9
Edad: 38
Registrado: 29 Oct 2005
Mensajes: 2725
Ubicación: Rivadavia y Puan
Carrera: Civil
|
|
|
|
|
4WD
Administrador
Edad: 39
Registrado: 07 Sep 2006
Mensajes: 2430
Ubicación: Ingeniero
Carrera: Mecánica
|
|
Es lo que me imaginaba:
Búsqueda en Google escribió:
|
Descripción:
Este error se genera en sentencias compiladas con la directiva {$R+} cuando ocurre una de las siguientes situaciones:
* El índice de un array está fuera de rango.
* El programa intentó asignar un valor fuera de rango a una variable.
* El programa intentó pasar un valor fuera de rango como parámetro a un procedimiento o función.
En el IDE, esta comprobación puede ser desactivada en Options->Compiler->Range checking.
|
Esto está sacado del TurboPascal.
O sea, verificá que alguna iteración no esté haciendo crecer tanto al iterador que se va de la capacidad que puede manejar. No me acuerdo los tipos de datos de Pascal, pero no son todos lo mismo. Podés darles valor hasta cierto número. Si necesitás más tenés que usar otro tipo de datos.
Lo que tenés que hacer es rastrear el error. No desactives la verificación, porque va a seguir andando mal pero no te va a avisar.
Si sabés usar el Debugger usalo verificando paso a paso los iteradores. Si no, poné instrucciones tipo (no me acuerdo la sintaxis de Pascal... )
Código:
|
if(i mod 100) writeln('iterador i', i)
|
en los iteradores sospechosos de crecer mucho.
Así vas a poder ver en pantalla hasta dónde crecen y descubrir quién se descontrola.
|
|
|
|
_________________
|
|
|
|
|
Mafia
Nivel 9
Edad: 34
Registrado: 16 Ago 2008
Mensajes: 4451
Ubicación: en el Mafia-Movil
Carrera: Civil
|
|
bueno, gracias por sus respuestas, igualmente hice muchas cosas con otro concepto de array distinto al anterior.
ya no tira mas errores
era q en una matriz, cuando la estaba inicializando, ponia por ejemplo, for n:= 1 to 1000, etc, y en ese rango la matriz tenia menos espacios, o sea, si iba de rango, era esa cosa, pèro me colgaba todo.
creo q acá termina el tema del error 201.
|
|
|
|
_________________ Saludos, Ing. Mafia
|
|
|
|
|
|
|
Ver tema siguiente
Ver tema anterior
Podés publicar nuevos temas en este foro No podés responder a temas en este foro No podés editar tus mensajes en este foro No podés borrar tus mensajes en este foro No podés votar en encuestas en este foro No Podéspostear archivos en este foro No Podés bajar archivos de este foro
|
Todas las horas son ART, ARST (GMT - 3, GMT - 2 Horas)
Protected by CBACK CrackerTracker365 Attacks blocked.
|
|
[ Tiempo: 0.4501s ][ Pedidos: 20 (0.3707s) ] |