Si efectivamente funciona, pero si ejecutable y archivo de texto lo mueves a una carpeta cuyo nombre no tenga acentos sigue funcionando, pero al cambiar el nombre de esa carpeta con un acento deja de funcionar, no por el nombre del archivo (eñé.cfg en mi prueba) si no por el de la carpeta que lo contiene.
Pongo el código con el que he probado (uso W7 y Lazarus 1.2.6):
Código Delphi
[-]procedure TForm1.FormCreate(Sender: TObject);
var
fichero: TStringList;
begin
fichero:= TStringList.Create;
try
fichero.LoadFromFile(UTF8ToAnsi(ExtractFilePath(Application.ExeName)+'eñé.cfg'));
Memo1.Lines.Assign(fichero);
finally
fichero.Free;
end;
end;
Como dices es muy extraño. De momento estoy diciendo a los usuarios de windows que coloquen la carpeta con el programa en "c:" para evitar problemas pero, al ser una aplicación que no necesita ningún tipo de instalación, la verdad queda mal.