![]() |
Speicherort ändert sich selbstständig
Tagchen!
Ich bin dabei ein Programm für eine Einsatzleitung einer Feuerwehr zu programmieren. Dabei sollten alle Daten abgespeichert werden. ich habe den pfad komplett angegeben. Jedoch, wenn ich die exe Datei starte, werden die Dateien an einen anderen Ort abgespeichert. Zuerst wird ein Ordner für jeden Einsatz erstellt: der befehl ist : ForceDirectories('C:\Program Files (x86)\Delphi7SE\Projects\Einsatzleitung\Daten\'+la bel1.caption); funktioniert auch ohne Probleme, wenn ich es von Delphi aus compiliere. Wenn ich die, wie gesagt, .exe wähle wird alles in C:\Users\Bernhard\AppData\Local\VirtualStore\Progr am Files (x86)\Delphi7SE\Projects\Einsatzleitung\Daten\'Dat einame' gespeichert. Das Problem ist, dass andere (selbst erstellten) Programme auf die Daten zugreifen und weiter bearbeiten bzw. ergänzen. Weiß irgendjemand wo der Fehler liegt?? bzw. wie ich es anders lösen könnte? |
AW: Speicherort ändert sich selbstständig
Stichwort Virtualisierung.
Du hast im Programmordner nichts zu speichern, gespeichert wird in "%HOMEPATH%\AppData\Roaming\Dein Programm" bzw. in "%APPDATA%\Dein Programm". |
AW: Speicherort ändert sich selbstständig
Bleibt das ganze dann dort auch gespeichert? oder verschwindet das dann, wenn ich das Programm schließe?
|
AW: Speicherort ändert sich selbstständig
So gut wie alles auf der Festplatte außerhalb des Temp Ordners bleibt da bis es jemand löscht und verschwindet nicht "einfach so" ;-)
|
AW: Speicherort ändert sich selbstständig
Vergiss am besten gleich den Unsinn mit der Virtualisierung. Microsoft hat vor 18 Jahren Misst gebaut, vor 12 Jahren waren sie auf dem richtigen Weg den Fehler zu korrigieren, haben sich dann aber vor paar Jahren entschlossen den Fehler lieber zu kaschieren. Dass heißt, wenn früher ein Programmierer Misst gemacht hat, dann funktionierte das Programm nicht und der Programmierer war gezwungen in der nächsten Version den Fehler zu korrigieren und ein fehlerfreies Programm zu schreiben. Dank der Virtualisierung fängt Windows (ich glaube ab Vista) den Fehler ab, allerdings mit den von dir genannten Konsequenzen ab.
Mach es lieber gleich richtig. Seit 12 Jahren, aber auch schon vorher, nur in etwas anderen Art, gibt es einen extra Ort um die Daten abzulegen. Es ist der, wie cookie22 es schon angedeutet hat, der Appdata Ordner. Mit der richtigen Funktion liefert Windows den Ordner und da hat man Schreibrechte und nie Probleme. Such mal Themen zum Thema SpecialDirectorys oder SpecialFolders. |
AW: Speicherort ändert sich selbstständig
Vielen Dank für die schnelle Antwort. Werd mich auf die Suche machen. :-)
|
AW: Speicherort ändert sich selbstständig
Ich vermute mal, das Problem tritt unter Windows Vista oder höher auf.
Wenn es sich um Einstellungen handelt, die du in eine Datei speicherst ist es am einfachsten C:\programdata\... zu verwenden, da die UAC C:\programme(x86)\virtualisiert. Wenn es eine Datei ist, die der Benutzer selbst weiter verwenden soll, lass ihn entscheiden wohin die Datei wandert. Kann mich da meinen Vorredner bezüglich "SpecialDirectorys" und "SpecialFolders" nur anschließen |
AW: Speicherort ändert sich selbstständig
Zitat:
Delphi-Quellcode:
gehört der Compiler weggenommen, so hart das klingen mag!
ForceDirectories('C:\Program Files (x86)\Delphi7SE\Projects\Einsatzleitung\Daten\'+la bel1.caption);
Absolute Pfade ja, aber niemals hartkodiert! Dazu gibt es entsprechende API-Funktionen (schon mehrfach erwähntes Stichwort SpecialFolders), die die je nach System passenden Pfade zurückgeben. Ich finde es ehrlich gesagt schlimm, dass man sowas heutzutage immer noch antrifft... MfG Dalai |
AW: Speicherort ändert sich selbstständig
Naja wenn man bedenkt, daß D7 standardmäßig unter
Delphi-Quellcode:
speichern will, ist mastas Ansinnen ja nicht so abwegig.
c:\programme\borland\Delphi\Projekte
Trotzdem ist das nicht zur Nachahmung zu empfehlen. Gruß K-H |
AW: Speicherort ändert sich selbstständig
Zitat:
Grüße |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:10 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