Ver Mensaje Individual
  #1  
Antiguo 08-08-2018
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 545
Reputación: 17
jhonalone Va por buen camino
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.
__________________
"Pedid y se os dará; buscad y hallaréis ..." (Lc 11,9-10)
"...si no tengo caridad, nada soy..." (1 Cor 13,1-13)
Responder Con Cita