(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.