Ansonsten gibt es das %AppData% Verzeichnis, dort sollten anwendungsspezifische Daten lokal abgelegt werden.
%APPDATA% ist aber User-spezifisch und auch noch rechnerübergreifend:
Zitat:
APPDATA=C:\Users\Uwe\AppData\Roaming
Besser wäre %ALLUSERSPROFILE%:
Zitat:
ALLUSERSPROFILE=C:\ProgramData
Das ist aber auch genau das, was TPath.GetPublicPath zurückliefert.
2. GetPublicPath liegt lokal auf dem Client. Nach einem Wechsel der Festplatte sind die Einstellungen weg.
Das gilt aber für alle Dateien auf der Festplatte, solange man die nicht sichert und wiederherstellt. Wenn Datenverlust ein Problem ist, dann gilt das für jeden anderen Speicherort genauso.
Ich habe in der Regel so meine Bedenken zum Speichern von Settings in der Produktivdatenbank. Die sind nämlich nach Einspielen eines Backups potentiell ebenfalls weg. Die meisten Anwender (zumindest die ich kenne) gehen nicht davon aus, dass das Einspielen eines älteren Datenbestands auch ihre Settings verändert.