Di solito, con Windows, salvi i dati della mia applicazione nella cartella utente (% appdata%).Con FireMonkey e le sue piattaforme multipiattaforma, dove devo archiviare i dati dell'applicazione?
Per questo, io uso la funzione ExpandEnvironmentStrings
che è legata a Windows per ottenere la cartella che ho bisogno, e mi memorizzare all'interno di una sottocartella mia inifile.
Esiste una buona pratica per gestirlo ed essere compatibile con tutte le piattaforme supportate (Windows 32b, 64b & Mac)?
ho testato con successo in quel modo:
procedure TfrmMain.SaveSettings;
var
fnINI: TFileName;
ini : TIniFile;
begin
fnINI := IncludeTrailingPathDelimiter(GetHomePath) + IncludeTrailingPathDelimiter(APP_NAME) + ChangeFileExt(APP_NAME, '.ini');
if ForceDirectories(ExtractFilePath(fnINI)) then
begin
ini := TIniFile.Create(fnINI);
try
ini.WriteString(INI_CONNECTION, INI_IP, edtIP.Text);
finally
ini.Free;
end;
end;
end;
Sposta le tue conclusioni a una risposta personale invece di modificare la tua domanda. In questo modo le persone possono votare separatamente la risposta e la domanda. – LachlanG
@LachlanG: In questo caso non sono d'accordo. Whiler ha aggiunto un esempio che mostra l'uso della risposta che ha accettato. IMHO non dovrebbe aggiungere un'altra risposta per farlo, ma ha fatto la cosa giusta aggiornando la sua domanda per includere la sua verifica che la risposta è corretta. – lkessler
@lkessler: Perché non aggiungere un commento alla risposta dicendo che ha verificato che funzioni? Ha già lasciato un commento dicendo che avrebbe controllato da solo. Inoltre, anziché aggiungere il suo codice di soluzione alla sua domanda, perché non modificare la risposta di Linas e inserire il codice lì. – LachlanG