Ver Mensaje Individual
  #6  
Antiguo 21-11-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Aunque la tendencia es usar el registro de windows, si te decidiste por usar archivos .INI, básicamente la lógica es similar:
Código Delphi [-]
...
implementation

uses IniFiles;

procedure TForm1.FormCreate(Sender: TObject);
begin
  with TIniFile.Create(ExtractFilePath(Application.ExeName)+'Ini\Archivo1.INI')do
  try
    Edit1.Text:= ReadString('CONFIG','Edit','');
  finally
    Free;
  end;
end;

// ...

procedure TForm1.FormDestroy(Sender: TObject);
begin
 with TIniFile.Create(ExtractFilePath(Application.ExeName)+'Ini\Archivo1.INI')do
  try
     WriteString('CONFIG', 'Edit', Edit1.Text);
  finally
    Free;
  end;
end;
En tu caso creo que el problema se produce por no determinar bién la ubicación del archivo .INI al estar usando la funcion GetCurrentDir para obtenerla. Bién podría pasar que el directorio que era el actual al leer el archivo ini, hubiera cambiado y ser otro al momento de guardarlo.

Lo mas lógico es situar el archivo ini en la misma carpeta en que reside la aplicación, o en una carpeta dependiente de ella. Ya que esta ruta se puede obtener sin lugar a dudas mediante la función ExtractFilePath y la propiedad ExeName del objeto Application, tál como te puse en el código próximo anterior.

Por supuesto que en tu caso debe existir la carpeta '\Ini' como hija de la carpeta donde esta la aplicación.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita