PDA

Ver la Versión Completa : Problema... ¿inexplicable?


jadelphi
20-04-2005, 12:25:43
Hola colegas me pasa una cosa que no le veo explicación alguna...

Tengo definido el siguiente array

WTLinDesc : array[1..100] of String;

En una parte del programa lo inicializo...

for J := 1 to 100 do
WTLinDesc[J] := ' ';

declarando J como Integer.

Tras esto le he pedido que me muestre por pantalla lo que contiene cada posición y ningún problema

for J := 1 to 100 do
begin
MessageDlg('J ' + IntToStr(J),mtInformation,[mbOk],0);
MessageDlg('[J] ' + WTLinDesc[J],mtInformation,[mbOk],0);
end;

... Pero en otro punto del programa y sin haber tocado para nada el array le pido que me muestre otra vez su contenido y la posición 1 la muestra pero al intentar acceder a la posición 2 me da el siguiente mensaje de error :

Access violation at address xxxxxxxx in module xxxxxx.exe. Read of address xxxxx.


A ver si alguien me puede ayudar, si le ha pasado alguna vez una cosa parecida, ....

Muchas gracias.

Salu2.

jachguate
20-04-2005, 15:44:51
Pues algo se habrá tocado del array... creo que es buena idea que pegues los trozos completos de código, asi como una idea de la línea de ejecución del programa. Además de indicar exactamente la línea que lanza la excepción.

Hasta luego.

;)

lgarcia
20-04-2005, 16:54:23
Revisa el alcance de la variable j dentro de los procedimientos donde la utilizas

Saludos
Luis Garcia

jadelphi
20-04-2005, 17:57:33
Nada chicos, ya he solucionado el problema, inexplicablemente por cierto. Como era de esperar (sólo que no lo encontraba) tenía que haber algún desbordamiento de datos por algún sitio, algún bucle que se hacia más veces de las necesarias y así era, pero no afectaba a ese array, sin embargo al acceder a él me daba error, pero bueno el caso es que ya funciona. Muchas Gracias.


Salu2.