AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Speicherort ändert sich selbstständig
Thema durchsuchen
Ansicht
Themen-Optionen

Speicherort ändert sich selbstständig

Offene Frage von "Lemmy"
Ein Thema von masta · begonnen am 26. Feb 2013 · letzter Beitrag vom 27. Feb 2013
Antwort Antwort
masta

Registriert seit: 26. Feb 2013
3 Beiträge
 
#1

Speicherort ändert sich selbstständig

  Alt 26. Feb 2013, 22:05
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?
  Mit Zitat antworten Zitat
Benutzerbild von cookie22
cookie22

Registriert seit: 28. Jun 2006
Ort: Düsseldorf
936 Beiträge
 
Delphi XE2 Professional
 
#2

AW: Speicherort ändert sich selbstständig

  Alt 26. Feb 2013, 22:13
Stichwort Virtualisierung.

Du hast im Programmordner nichts zu speichern, gespeichert wird in "%HOMEPATH%\AppData\Roaming\Dein Programm" bzw. in "%APPDATA%\Dein Programm".
Gruß
Cookie

Geändert von cookie22 (26. Feb 2013 um 22:16 Uhr)
  Mit Zitat antworten Zitat
masta

Registriert seit: 26. Feb 2013
3 Beiträge
 
#3

AW: Speicherort ändert sich selbstständig

  Alt 26. Feb 2013, 22:30
Bleibt das ganze dann dort auch gespeichert? oder verschwindet das dann, wenn ich das Programm schließe?
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#4

AW: Speicherort ändert sich selbstständig

  Alt 26. Feb 2013, 23:09
So gut wie alles auf der Festplatte außerhalb des Temp Ordners bleibt da bis es jemand löscht und verschwindet nicht "einfach so"
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#5

AW: Speicherort ändert sich selbstständig

  Alt 26. Feb 2013, 23:51
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.
  Mit Zitat antworten Zitat
masta

Registriert seit: 26. Feb 2013
3 Beiträge
 
#6

AW: Speicherort ändert sich selbstständig

  Alt 27. Feb 2013, 09:55
Vielen Dank für die schnelle Antwort. Werd mich auf die Suche machen.
  Mit Zitat antworten Zitat
SebastianZ

Registriert seit: 23. Jul 2009
89 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Speicherort ändert sich selbstständig

  Alt 27. Feb 2013, 17:35
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
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.682 Beiträge
 
Delphi 5 Professional
 
#8

AW: Speicherort ändert sich selbstständig

  Alt 27. Feb 2013, 18:29
Wenn es sich um Einstellungen handelt, die du in eine Datei speicherst ist es am einfachsten C:\programdata\... zu verwenden [...]
Im Prinzip schon, aber bitte ohne hartkodierte Pfade! Jemandem, der sowas verwendet
ForceDirectories('C:\Program Files (x86)\Delphi7SE\Projects\Einsatzleitung\Daten\'+la bel1.caption); gehört der Compiler weggenommen, so hart das klingen mag!

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
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#9

AW: Speicherort ändert sich selbstständig

  Alt 27. Feb 2013, 22:30
Naja wenn man bedenkt, daß D7 standardmäßig unter c:\programme\borland\Delphi\Projekte speichern will, ist mastas Ansinnen ja nicht so abwegig.

Trotzdem ist das nicht zur Nachahmung zu empfehlen.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.381 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: Speicherort ändert sich selbstständig

  Alt 27. Feb 2013, 23:02
Naja wenn man bedenkt, daß D7 standardmäßig unter c:\programme\borland\Delphi\Projekte speichern will, ist mastas Ansinnen ja nicht so abwegig.
doch ist es.. genauso könnte ich MS DOS 6 zur Begründung verwenden, dass es total normal ist Programme direkt unter C:\ zu installieren.

Grüße
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz