Hallo Zusammen,
Können Effekte auftreten wenn einen .exe File und einen Konfig Datei in gleichen Ordner sind.
Effekte meine ich, dass es aus irgendwie aus einen Grund der Inhalt "Value Werte" der Konfig Datei einfach gelöscht werden.
Danke in voraus
(16.06.2016 08:46 )galilio schrieb: [ -> ], dass es aus irgendwie aus einen Grund der Inhalt "Value Werte" der Konfig Datei einfach gelöscht werden.
Das sollte nicht passieren, wenn du es nicht so programmiert hast. Das ini file einer EXE wird beim Start der EXE nur neu angelegt, wenn es noch nicht existiert.
Gruß, Marko
(16.06.2016 11:35 )Trinitatis schrieb: [ -> ]Das sollte nicht passieren, wenn du es nicht so programmiert hast. Das ini file einer EXE wird beim Start der EXE nur neu angelegt, wenn es noch nicht existiert.
Gruß, Marko
Ja das sollte eigentlich nicht passieren aber in Windows solche Effekte können auftreten.
Ich habe es leider die Erfahrung gemacht.
Ich habe es eine SW (mit C++) erstellt. Die EXE und die INI Dateien lagen in gleichen Ordner und es ist 2 oder 3 mal passiert, dass einfach die Value Werte auf 0 gesetzt wurden.
Das Problem lässt sich nicht reproduzieren. Es tritt spuralisch.
Als die ini File in einen extra Ordner angelegt ist, ist dieses Effekt nie aufgetreten worden.
Beim LabVIEW habe ich leider nicht so viel Erfahrung und aus diesem Grund frage ich nach.
Mit LabView sind mir solche Absonderlichkeiten noch nicht passiert.
Ich kenne mich zwar in C /C++ nicht aus, kann mir soetwas aber nur schwer vorstellen...
Gruß, Marko
Die Tatsache, dass INI-Files sporadisch und nicht nachvollziehbar leer sind, kann ich bestätigen - allerdings nur für Delphi-Pascal unter XP.
(17.06.2016 12:34 )galilio schrieb: [ -> ]bitte lies mal das hier:
Dieser Effekt ist mir schon lange bekannt. Allerdings habe ich damit keine Probleme. Meine Programme liegen nie dort wo das Betriebssystem will, sondern dort wo ich will. Außerdem hab ich meine Daten nie in Systemfiles liegen, immer in eigenen Files.
(16.06.2016 14:02 )galilio schrieb: [ -> ] (16.06.2016 11:35 )Trinitatis schrieb: [ -> ]Das sollte nicht passieren, wenn du es nicht so programmiert hast. Das ini file einer EXE wird beim Start der EXE nur neu angelegt, wenn es noch nicht existiert.
Gruß, Marko
Ja das sollte eigentlich nicht passieren aber in Windows solche Effekte können auftreten.
Ich habe es leider die Erfahrung gemacht.
Ich habe es eine SW (mit C++) erstellt. Die EXE und die INI Dateien lagen in gleichen Ordner und es ist 2 oder 3 mal passiert, dass einfach die Value Werte auf 0 gesetzt wurden.
Das Problem lässt sich nicht reproduzieren. Es tritt spuralisch.
Als die ini File in einen extra Ordner angelegt ist, ist dieses Effekt nie aufgetreten worden.
Beim LabVIEW habe ich leider nicht so viel Erfahrung und aus diesem Grund frage ich nach.
Grundsätzlich ist es seit Windows Vista nicht mehr sehr sinnvoll um die Konfigurationsdateien im selben Ordner anzulegen wie die Exe. Die Exe möchtest Du ganz gerne an einer Stelle installieren lassen wo nicht Kreti und Pleti Modifikationen am Executable vornehmen können. Zwar finden es die meisten Virenscanner heutzutage suspekt wenn eine Applikation versucht ein Executable zu modifizieren, aber wenn diese in einem Directory liegen, wo Otto Normalverbraucher ohnehin keine Schreibrechte hat, musst Du Dich nicht auf den Virenscanner verlassen.
Und ja dank sei VirtualStore kannst Du zware theoretisch die Konfigurationsdatei noch stets im selben Verzeichnis haben wie das Executable, denn VirtualStore wird dann eine Kopie davon machen innerhalb Deiner benützerspezifischen Umgebung und diese Kopie modifizieren. Und dann beginnt die ganze Scheisse richtig zu stinken!
Wenn eine Applikation dieses File zu lesen versucht liest sie je nachdem ob VirtualStore aktiviert ist, die neuere modifizierte benützerspezifische Kopie, oder das Original. Innerhalb von Explorer ist VirtualStore grundsätzlich ausgeschaltet. Für Deine Applikation kann das von verschiedenen Dingen abhängen: unter anderem auch ob sie mit elevated oder normalen Rechten gestartet wurde. Und dann wunderen sich Leute, warum Daten plötzlich scheinbar gelöscht werden!!!
Deshalb ist es sinnvoll um Konfigurationsdaten in einer der speziellen Directories abzuspeichern die Du mittels der Funktion "Get System Directory" erfragen kannst.