none
Lesen von user.config RRS feed

  • Frage

  • Hallo zusammen

    Ich mache VB.NET Programme, die xml-Dateien im Netzwerk lesen und auswerten. Damit der Netzwerkpfad individuell ausgewählt werden kann, stelle ich den Pfad nach dem Auswählen in der user.config bereit. Dort hat es aber noch mehrere Informationen die mein Programm braucht, wie etwa die Grösse und die Position der Fenster. In der Startform im Ereignis Form_Load oder Form_Shown lese ich diese benutze ich die Eigenschaften von der user.config wieder  in dem ich mit My.Settings.XMLDatei darauf zugreife. Bei Form_FormClosing fülle ich dann diese Eigenschaften wieder, falls sich was geändert hat.

    Alle klappt einwandfrei wie es sollte und wie gewünscht. Mein Programm läuft fehlerfrei.

    Nun wird aber gewünscht, dass mein Programm automatisch mit Windows starten soll. Und hier beginnen nun die Probleme. Ich habe es sowohl mit einem Autostart in der Registry, so wie einer Verknüpfung im Autostart Ordner versucht. Immer wieder kommt es vor, dass nur die Standartwerte zur Verfügung stehen, aber nicht die Werte aus user.config. Man kann das Programm ganz einfach beenden und gleich wieder starten. Dann stehen die Informationen aus user.config richtig bereit. Für mich scheint es so, dass die user.config nicht oder nur unvollständig zur Verfügung steht, wenn das Programm mit Windows startet.

    Kennt sich jemand mit diesem Verhalten aus?

    Gruss Marcel

    Dienstag, 19. Mai 2020 13:53

Antworten

  • Hallo zusammen

    Nach dem Tipp von Thomas habe ich ein Testprogramm erstellt und es laufen lassen. Dabei habe ist festgestellt, dass die user.config beim Windows Start auf jedem Fall gelesen werden kann, egal ob es im Load oder Shown Ereignis ist.

    Das Problem liegt viel mehr am Verhalten der Benutzer. Da sich mein Programm in der Taskliste befindet, wird es oft nicht beendet, sondern man fährt einfach den Computer herunter. In diesem Fall hat das Programm keine Zeit mehr die user.config zu schreiben. Am nächsten Tag stehen also die Angaben vom letzten mal in der user.config, wo das Programm normal beendet wurde.

    Gruss Marcel


    Freitag, 22. Mai 2020 08:53

Alle Antworten

  • Hallo,

    erstelle ein Log zu diesem Zeitpunkt in dem festgehalten wird ob die User.config vorhanden ist und wenn ja, aus welchem Pfad sie genommen wird. Umschließe das ganze dann mit einem Try/Catch block um mögliche Fehler abzufangen um diese wiederum ins Log zu schreiben.


    Gruß Thomas
    13 Millionen Schweine landen jährlich im Müll
    Dev Apps von mir: UWP Segoe MDL2 Assets, UI Strings

    Dienstag, 19. Mai 2020 19:56
  • Hallo Thomas

    Vielen Dank für Deine gute Idee. Ich mache ein kleines Testprogramm und logge was beim Programmstart passiert. So werde ich bestimmt herausfinden, wieso es nicht geht oder woran es liegt.

    Gruss Marcel

    Mittwoch, 20. Mai 2020 06:25
  • Hallo zusammen

    Nach dem Tipp von Thomas habe ich ein Testprogramm erstellt und es laufen lassen. Dabei habe ist festgestellt, dass die user.config beim Windows Start auf jedem Fall gelesen werden kann, egal ob es im Load oder Shown Ereignis ist.

    Das Problem liegt viel mehr am Verhalten der Benutzer. Da sich mein Programm in der Taskliste befindet, wird es oft nicht beendet, sondern man fährt einfach den Computer herunter. In diesem Fall hat das Programm keine Zeit mehr die user.config zu schreiben. Am nächsten Tag stehen also die Angaben vom letzten mal in der user.config, wo das Programm normal beendet wurde.

    Gruss Marcel


    Freitag, 22. Mai 2020 08:53