Moin,
das gehört eigentlich geschlagen
Ich zumindest würde die Anwendung vermutlich nicht einsetzen (bis auf SWAT 4, das „darf“ das).
Es ist halt so, dass nicht jeder überall Schreibrechte hat. Ob man auf C:\ Rechte hat, kann ich nicht sagen, bei mir schon, aber bei anderen nicht. Aber was ist auch, wenn C:\ nur das Datengrab für Windows (also den Kernel etc.) ist, und auf D:\ die Programme und E:\ die Eigenen Dateien liegen
Deshalb nehme bitte bitte keine hart kodierten Pfade sondern biete folgendes an:
Lass den Benutzer bei der Installation (wenn es eine gibt) oder den ersten Start wählen, wo deine Programmdaten gespeichert werden: Entweder im Programmordner oder in den Anwendungsdaten. An den Programmordner kommst du mit
ExtractFilePath(ParamStr(0))
und an die Anwendungsdaten bekommst du wie weiter unten beschrieben.
Und warum das ganze?
- Die Anwendungsdaten existieren immer!
- Man hat immer darin Schreib/Leserechte!
- Jeder Benutzer kann eine eigene Konfiguration anlegen!
- Und falls das Ding portabel sein soll, dann kann man immer noch sagen dass es im Programmordner gespeichert werden soll.
Da wären wir übrigens bei den nächsten Problem, wenn es portabel sein soll/kann dann bringt dir das Speichern in C:\ nichts aus zwei Gründen:
- Alles wird zurückgesetzt, wenn der PC geändert wird.
- Wenn du das Programm mal schnell beim Freund testest müllst du den PC zu.
So und jetzt bist du dran: Nenne mit einen Vorteil, warum man auf C:\ speichern soll?
MfG
Fabian
PS: C:\ = der Ordner direkt in C:\ nicht ein Unterordner in C:\!