Duda sobre principal.pas

Duda sobre principal.pas

de Maia Iglesias Rojas -
Número de respuestas: 2

Buenas tardes!

Estuve leyendo el código de principal.pas y me surgio una duda respecto a que pasa cuando tengo un puntero NIL y después invoco a uno de los módulos de la tarea pero pasando ese puntero. 

Por ejemplo:

En la línea 66 a partir de un .txt dado y un numero de linea, ubicarLineaEnTexto busca en el txt la línea que indico y me devuelve un puntero a esa linea, pero si no la encuentra el puntero que devuelve es NIL.

Ahora, en la linea 67 lo que hace es llamar a la funcion todosTienenFormatoEnLinea, pasando un TipoFormato, y dos valores RangoColumna, mi duda es, ¿Qué pasa si en un caso de que taux es NIL (osea le paso un numero de linea que es mayor a la cantidad de lineas que tiene el texto)?

Hay un caso en particular en una de las entradas de 34.txt que se pide incertar una cadena en el texto3 en la linea 43, pero este solo tiene 42. Creo que no estoy errada en pensar que el programa falla desde el principal.pas porque al intentar hacer un taux^.info cuando taux es NIL da el error EAccessViolation: Access violation. 

Agradezco de antemano cualquier tipo de ayuda. :D

En respuesta a Maia Iglesias Rojas

Re: Duda sobre principal.pas

de Luis Sierra -
hola maia,

las observaciones que haces son bien interesantes. pero, respondiendo de memoria, no hay problemas. son ciertas tus afirmaciones de los primeros párrafos; y también es cierto que el archivo original tiene 42 líneas, y se pide insertar en la línea 43. pero esa inserción es posterior a muchas otras, y alguna de esas otras inserciones puede generar una nueva línea. así que si bien al comienzo de la ejecución no hay 43 líneas, en el momento en que se quiere insertar en la 43 ya hay suficientes.

muy buena observación. pero el error EAccessViolation: Access violation no se origina en el principal.pas.

saludos

luis