Boa tarde.

Tenho uma aplicação onde gravo os parâmetros de idioma e unidade de medida para 
serem recuperados na próxima execução do programa

Hoje o processo é feito usando arquivos INI e as seguintes rotinas:

* Ao criar o formulário da aplicação:

{...}
 Var
   INI : TINIFile;
 Begin
   // Prepara o arquivo de configurações iniciais
   INI := TINIFile.Create(GetCurrentDir + '\PowerCalcXPLite.ini');

   // Carrega as configurações iniciais de unidades de medida e idioma
   Unidade := INI.ReadString('UNITS',    'Using', 'mm');
   Idioma  := INI.ReadString('LANGUAGE', 'Using', 'PT');

   // Libera o arquivo de inicialização
   INI.Free;
  End;
{...}

E ao finalizar:
{...}
 Var
   INI : TINIFile;
   INIFileName : String;
 Begin
   INIFileName := Copy(ExtractFileName(Application.ExeName), 1,
                       Length(ExtractFileName(Application.ExeName)) -
                       Length(ExtractFileExt(Application.ExeName)));

   INIFileName := ExtractFilePath(Application.Exename) +
                  INIFileName + '.ini';
   INI := TINIFile.Create(INIFileName);

   // Carrega as configurações iniciais de unidades de medida e idioma
   INI.WriteString('UNITS',    'Using', Unidade);
   INI.WriteString('LANGUAGE', 'Using', Idioma);

   // Libera o arquivo de inicialização
   INI.Free;

 End;
{...}


Porém, sempre que monto um setup para este aplicativo, que coloca todos os 
arquivos necessários na pasta "Arquivos de Programas" (no Windows XP) não 
consigo mudar os parâmetros ou seja a aplicação não guarda os parâmetros 
configurados, carregando apenas os parâmetros padrão.

Como poderia contornar isso sem gravar informações no registro? Usando um XML 
no lugar do INI, consigo resolver o problema?

Atenciosamente,
Ricardo.

       
---------------------------------
Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! 

[As partes desta mensagem que não continham texto foram removidas]

Responder a