![]() |
TJvAppIniFileStorage mit Location=flExeFile speichert unter Win XP zusätzlich im Wind
Zum Speichern der Fenstereinstellungen nutze ich TJvAppIniFileStorage. Location ist auf flExeFile eingestellt. Unter Windows XP wird die ini-Datei wie gewünscht im Programmpfad gespeichert, aber zusätzlich noch im Windows-Pfad. Bei Nutzern mit eingeschränkten Rechten kommt es zur Fehlermeldung, dass die ini-Datei nicht gespeichert werden kann.
Woran liegt das, wie läßt sich das vermeiden? |
AW: TJvAppIniFileStorage mit Location=flExeFile speichert unter Win XP zusätzlich im
Das kann ich nicht reproduzieren.
Zum Testen habe ich:
// EDIT: Getestet unter Windows 8.1 und XP. |
AW: TJvAppIniFileStorage mit Location=flExeFile speichert unter Win XP zusätzlich im
Speichern im Anwendungspfad ist schlecht. Funktioniert unter W2k und XP nur als Hauptbenutzer und ab Vista nur mit daktiverter UAC oder wenn die Virtualisierung aktiv ist.
Genau ist es mit dem Windows-Pfad. Speichern an diesen Stellen war für Win9x/ME ganz brauchbar. In der NT-Schiene von Windows eigentlich schon immer eine schlechte Wahl. In alten Windows-Versionen war der %Appdata%-Pfad sinnvoll. Ab Vista ist hier eher C:\ProgramData zu verwenden. |
AW: TJvAppIniFileStorage mit Location=flExeFile speichert unter Win XP zusätzlich im
Der %APPDATA% Pfad ist doch perfekt, dann werden die Einstellungen benutzerbezogen gespeichert.
Wer nur alleine vor dem Rechner hockt, dem mag das schnurz sein, als Quasi-Standard würde ich das nicht ansetzen. |
AW: TJvAppIniFileStorage mit Location=flExeFile speichert unter Win XP zusätzlich im
Und die Einschränkungen im Zugriff gilt nur, wenn der Anwendungspfad unterhalb vom 'Program Files' liegt.
Ist die Anwendung in einem anderem Verzeichnis oder Laufwerk, dann funktioniert das Schreiben von INI-Files problemlos. :wink: |
AW: TJvAppIniFileStorage mit Location=flExeFile speichert unter Win XP zusätzlich im
Sinn des Speicherns in den Programmpfad ist, dass man das Programm im Prinzip von einem Stick starten kann und es wird nichts außerhalb des Programmpfads gespeichert. (So war es zumindest gedacht) Die IT-Leute in Krankenhäusern sind immer froh, wenn nicht irgendwelche Dateien irgendwo hin gespeichert werden.
Ich verstehe nur nicht, warum die ini-Datei überhaupt in den Windows-Pfad gespeichert wird. Bei der Kollegin gab es eine Fehlermeldung, weil kein Schreibrecht in diesem Pfad besteht. Ich verwende JVCL337CompleteJCL1105-Build3400, die neuste Version, die mit Delphi 5 Enterprise läuft. Evtl. gibt es das Phänomen in neueren Versionen nicht mehr. Hat jemand eine Idee, wie man den zusätzlichen Speicherversuch unterbinden kann? |
AW: TJvAppIniFileStorage mit Location=flExeFile speichert unter Win XP zusätzlich im
Zitat:
Zitat:
Problematisch ist eben, dass sich ein großer Teil der Programmierer daran einfach ums Verrecken nicht halten will. So gehört es auch zum guten Ton an diesen Ablage-Orten ein entsprechendes Unterverzeichnis anzulegen. Meine Struktur die ich dort anlege lautet:
Code:
de.<companyname>
+-<appname> +-(ab hier sind die Daten für diese Anwendung zu finden) |
AW: TJvAppIniFileStorage mit Location=flExeFile speichert unter Win XP zusätzlich im
Zitat:
|
AW: TJvAppIniFileStorage mit Location=flExeFile speichert unter Win XP zusätzlich im
Zitat:
|
AW: TJvAppIniFileStorage mit Location=flExeFile speichert unter Win XP zusätzlich im
Ja, ich würde die Komponente umschreiben, denn so ist die nicht wirklich zu gebrauchen.
Als Speicherort für den Benutzer benötigst du 3 Optionen
Delphi-Quellcode:
zu finden ist.
foo.exe.ini
Diese generelle Einstellung wird dann mit den Benutzer-Einstellungen "gemischt". Ist also ein Wert in der Benutzer-Einstellungen nicht vorhanden, dann wird der Wert aus den Standard-Einstellungen geladen. Beim Speichern der Werte, werden diese ausschließlich in der Benutzer-Konfiguration gespeichert. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz