Applikation zwangsweise beenden
-
Hallo zusammen
Eine Frage: Wie kann ich, wenn ich mich in der View-Klasse befinde, meine Applikation quasi zwangsweise beenden? Gibt es von da aus eine Möglichkeit, das Programm mit einem Befehl zu beenden?
Ich will, wenn eine bestimmte Situation vorliegt, direkt von dieser Position mein Programm beenden können, ist das einfach so möglich?Gruz
Dan
-
AfxGetApp()->CloseAllDocuments(true);
-
Danke für den Hinweis...
Jedoch klappt das bei mir nicht so...
Ich kriege dann eine Fehlermeldung: Fehler beim Erzeugen eines leeren Dokuments...Ich will die Applikation eben bereits im Anfangsstadium beenden und zwar mache ich die Abfrage in der OnCreate Methode in der View Klasse...
Vielleicht ist dies nicht so clever...ich will eigentlich gar nicht, dass die View erzeugt wird...ich schau mal ob ich es einrichten kann, die Abfrage früher zu machen...
Gruz
Dan
-
Vielleicht kannst Du ja bereits die Methode InitInstance deiner Applikationsklasse frühzeitig mit return false verlassen, aber das hängt natürlich von deinem Problem ab.
-
Der Holzhammer GetParentFrame()->DestroyWindow(); funktioniert meistens aus dem View.
-
((CMainFrame*)AfxGetMainWnd())->PostQuitMessage(0);
-
der absolute holzhammer ist immer noch 'ExitProcess()'. die anwendung ist schneller weg als du gucken kannst...
-
Wobei weder PostQuitMessage noch ExitProcess in irgendeiner Form aufräumt und freigibt...
DestroyWindow für das Mainframe räumt fast alles weg.Die Frage ist, wenn das evtl. noch interessiert, wenn sowieso gleich der Prozess beendet wird. Kritisch ist es evtl. bei System Handles (aber auch nur eingeschränkt).
-
Danke für die Tipps...
Ich habe mich nun für die Version von Gauss entschieden. Es geht bei meinem Problem um die Anzeige einer Registrationsmaske, die zum Start erscheinen muss, wenn kein gültiger Lizenzschlüssel vorliegt. Somit macht es ja eigentlich auch wenig Sinn, das Fenster überhaupt zu generieren, bevor nicht die Registration korrekt durchgeführt wurde.
Ich habe es übrigens mal noch mit der Holzhammer Methode Destroy Window versucht, kriegte jedoch die gleiche Fehlermeldung wie bereits beschrieben...
Gruz und Dankeschön
Dan