Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Desarrollo en Delphi para Android (https://www.clubdelphi.com/foros/forumdisplay.php?f=57)
-   -   StringList.LoadFromFile Access Violation (https://www.clubdelphi.com/foros/showthread.php?t=93339)

jhonalone 08-08-2018 23:14:46

StringList.LoadFromFile Access Violation
 
Hola compañeros.

Estoy teniendo un problema al leer un fichero de texto guardado con un TStringList.

El problema de "Access violation" ocurre cuando intento releer el fichero por segunda y sucesivas veces. Pero la primera vez lo lee correctamente.

Código Delphi [-]
var
ListTermi: TStringList;
DataFile : String;

......

TForm1.FormCreate
ListTermi := TStringList.Create();

....

TForm1.FormShow

DataFile := TPath.Combine(DirSdCard, 'Plan.txt');

with ListTermi do
try
 Clear;
 LoadFromFile(DataFile);
finally
// Free; No se utiliza, porque quiero que quede en  memoria para varios usos.
end; // try

No entiendo por qué la primera vez que lo leo no me da ERROR y si salgo de la unit y vuelvo a entrar me da access violation.

Tenía entendido que me debería sobrar hasta la función "Clear" ya que según la documentación de Embarcadero al llamar a LoadFromFile() , esta función llama a "Clear" antes de leerlo. He probado quitando "Clear" y da el mismo error.

Siento molestaros en vacaciones.
Saludos y gracias de antemano.

jhonalone 09-08-2018 02:02:16

Hola, de nuevo.
¡Problema resuelto!

Cosas de mi mala cabeza. Al salir de la unit, había colocado un "ListTermi.Free" para liberar la memoria al salir y no me acordaba. En principio había pensado hacer las cosas de otra forma y luego cambié de opinión.

Mi disculpas.
Saludos a todos.


La franja horaria es GMT +2. Ahora son las 15:49:45.

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