Also ich habe ein Formular, dass beim Starten eine Datei liest (sofern sie existiert) und in die Datei schreibt, wenn das Fenster geschlossen wird (falls die Datei nicht existiert, wird eine neue Datei erstellt).
Jedoch habe ich das Problem, dass ein Wert nicht gespeichert wird. Ich hab eine Variable deklariert (in einer Klasse, außerhalb einer Funktion)
private string m_msiFileName = String.Empty;
Der Benutzer lädt dann eine Datei mit einem OpenFileDialog. Dieser Variablen wird der Wert zugewiesen. Beim Schließen soll eben dieser Wert gespeichert werden. Wenn ich einen Haltepunkt an die Stelle setze, dann stimmt der Wert. Jedoch wird in die Datei dann nichts geschrieben. Jedoch ist das nur in dem Fall so. Es werden noch vier weitere Zeilen in die Datei geschrieben, deren Werte aus Textboxen geladen werden. Diese werden auch korrekt gespeichert, nur bei der Variablen nicht.
Hier mal meine Schreib-Funktion:
/// <summary> /// Schreibt die Optionen in eine Datei. /// </summary> /// <param name="p_strFilename">Dateiname</param> private void _WriteOptionToFile(string p_strFilename) { //Wenn die Datei existiert, soll diese gelöscht werden. if (File.Exists(p_strFilename)) { File.Delete(p_strFilename); }
Ich denke auch, dass das Problem außerhalb des hier geposteten Codes liegt. Habe deinen Code gerade mal ausprobiert und bei mir schreibt der alle Werte in die Datei. Bist du sicher, dass die Variable m_msiFileName nicht irgendwo anders überschrieben wird?
OK, das ist auch ein Fehler, den ich übersehen hab. Aber sowohl p_strFilename als auch DAT_FILENAME haben in meinem Programm denselben Wert, deswegen hab ich wahrscheinlich nicht bemerkt, dass da was falsches steht. Habs geändert, mein eigentliches Problem besteht immer noch.