Sobald Programm geschlossen wird, soll er 2 Dateien löschen!

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von progThis.

    Sobald Programm geschlossen wird, soll er 2 Dateien löschen!

    Moin,

    Mein Form hat 2 Dateien in den Resourcen die er auf DAUER benötigt, sonst crasht es weil die Dateien fehlen!
    Ich hab so gemacht dass die Dateien immer dann erstellt werden wenn man das Programm öffnet (Natürlich nur dann wenn keine existieren im StartupPath.)
    und nun wollte ich die wieder löschen lassen NACHDEM man mein Programm beendet, bzw. schließt.

    Wenn ich es ganz zum schluss zum löschen der 2 Dateien mit dem folgenden Code ins Form.Closing Event hinzufüge:

    VB.NET-Quellcode

    1. My.Computer.FileSystem.DeleteFile(Application.StartupPath + "\XYZ.bin")
    2. My.Computer.FileSystem.DeleteFile(Application.StartupPath + "\ZYX.dll")


    Stürzt mein Programm ab, besser gesagt gibt es mir eine Fehlermeldung dass die 2 Dateien fehlen (Prüft ganze Zeit ob die Datei fehlt!) -> Logisch.
    Ich habe jetzt keine Ahnung wie ich das verhindern kann. Also ich muss irgendwie NACHDEM mein Programm beendet ist die Dateien löschen lassen, aber das geht nicht weil meine Form schon geschlossen ist und alle Codes die nach dem Closen passieren, werden nicht aktiviert weil er ja schon aus ist und nix mehr macht.


    Gibs da irgendwas womit ich die Dateien Löschen lassen kann außer eine 2. Unsichtbare Form oder so??

    Fragt mich bitte nicht wieso ich sowas vor habe...

    Achja nochwas: die Dateien werden nicht über einen Timer oder so geprüft sondern von alleine da ich die Dateien Importiert hatte.
    Danke,mfg

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „taylan15“ ()

    Er prüft die ganze Zeit, ob die Dateien fehlen... Timer?
    Falls ja, Timer beenden und dann löschen. Problem?
    "Life isn't about winning the race. Life is about finishing the race and how many people we can help finish the race." ~Marc Mero

    Nun bin ich also auch soweit: Keine VB-Fragen per PM! Es gibt hier ein Forum, verdammt!

    Koopakiller schrieb:

    Hallo, wenn du die Dateien erst am, Ende von Closed löschst, dann kann die Form diese Dateien doch sowieso nicht mehr benutzen, oder? Sie ist doch zu!?

    Das war ja nur ein Beispiel, mir geht es um eine Lösung und nicht um die Behebung des Codes von oben!
    Nur ein Beispiel , ist ja logisch dass es dann nicht funktioniert nachdem das Programm geschlossen wurde :thumbsup:

    Keiner ne Lösung =( ???
    Das geht:

    Öffnen Sie die Datei ApplicationEvents.vb im Code-Editor. Klicken Sie im Menü Allgemein auf MyApplication-Ereignisse.
    Klicken Sie im Menü Deklarationen auf Shutdown.
    Die Anwendung löst nach dem Ende der Ausführung der Hauptanwendung, d. h. direkt vor dem Beenden der Anwendung, das Shutdown-Ereignis aus.
    Klicken Sie im Menü Allgemein auf MyApplication-Ereignisse.
    Klicken Sie im Menü Deklarationen auf UnhandledException.
    Beim Auftreten einer nicht behandelten Ausnahme löst die Anwendung das UnhandledException-Ereignis aus. Da die Anwendung nach einem UnhandledException-Ereignis nicht das Shutdown-Ereignis auslöst, empfiehlt es sich, beim UnhandledException-Handler denselben Code für das Beenden der Anwendung aufzurufen, der auch vom Shutdown-Handler aufgerufen wird.


    Zitat von MSDN


    Und komm weg vom My-Namespace. Nimm System.IO

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „programmer71“ ()

    programmer71 schrieb:

    dem Ende der Ausführung der Hauptanwendung, d. h. direkt vor dem Beenden der Anwendung, das Shutdown-Ereignis aus.

    Versteh ich nicht ganz :S
    Bin in der ApplicationEvent Datei, aber wo ist da der Menü/Ereigniss/Event für Shutdown?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „taylan15“ ()