[gelöst] Beenden des Hauptprogramms aus privater Klasse
Verfasst: 23. Dezember 2009 11:59
Hallo ich nutze für das Update meines Programms (Ausführen einer neunen heruntergeladnen Setup.exe) den Aufruf aus einer eigens erstellten Klasse UPDATE.installExe();
Nach dem Start des Prozesses für die setup.exe bekomme ich mein Hauptprogramm nicht geschlossen.
Wie kann ich das wirklich sauber machen?
Bisher nutze ich dafür eine Klasse aus dem Hauptprogramm
Hier mal die Reihenfolge:
Aufruf der funktion aus der Klasse UPDATE im Hauptprogramm
Funktion install.exe in UPDATE
Und hier die Funktion close() aus dem Hauptprogramm
Ich habe close geschrieben weil ich auf closeEvent als protected ja nicht von aussen zugreifen kann.
Nach dem Start des Prozesses für die setup.exe bekomme ich mein Hauptprogramm nicht geschlossen.
Wie kann ich das wirklich sauber machen?
Bisher nutze ich dafür eine Klasse aus dem Hauptprogramm
Hier mal die Reihenfolge:
Aufruf der funktion aus der Klasse UPDATE im Hauptprogramm
Code: Alles auswählen
void MainWindow::doneFtp(bool error)
{
stuff...
UPDATE update;
update.installExe();
stuff..
}
Code: Alles auswählen
/*############################################################
Name: installExe()
Eingang: leer
Ausgang: leer
Funktion: Neue Version installieren
#############################################################*/
void UPDATE::installExe()
{
MainWindow hauptprog;
if (QProcess::startDetached ("setup.exe"))
hauptprog.close();
}
Code: Alles auswählen
void MainWindow::close()
{
QWidget::close();
}