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.