Speicher beim Programmende freigeben
-
@Sovok:
Leider Nein. Beide Methoden gibt es nicht in der Main-App-Klasse.
-
Von welchem Typ ist denn Main-App ? Bzw. von welcher Klasse erbt sie denn ?
Ich kenne eigentlich nur InitApplication oder InitInstance ?!
Ansonsten würd ich ohnehin vorschlagen den Destruktor der Klasse zu verweden, denn dieser wird auf jedenfall aufgerufen.
-
achso main klasse
das müsste OnExitInstance sein
-
Knuddlbaer schrieb:
Von welchem Typ ist denn Main-App ? Bzw. von welcher Klasse erbt sie denn ?
Typ: MFC-Exe, Wizard mit PropertySheets
Sie erbt von CWinApp.
Deklariert so ...class CMeineApp : public CWinAppKnuddlbaer schrieb:
Ich kenne eigentlich nur InitApplication oder InitInstance ?!
Richtig. Beide vorhanden.
Sovok schrieb:
das müsste OnExitInstance sein
Es gibt nur ExitInstance. Aber das ist warscheinlich das selbe.
Kann ich bei ExitInstance dann davon ausgehen, das das aufgerufen wird, bevor die Anwendung endgültig beendet wird ?
P.S.: Warum wird denn keine MessageBox mehr angezeigt, sondern nur das Beep ist zu hören ?
-
Kann ich bei ExitInstance dann davon ausgehen, das das aufgerufen wird, bevor die Anwendung endgültig beendet wird ?
Vorallem unter Berücksichtigung von Terminierung durch Excetions
(Ich bin immer noch für den Desturktor

-
Knuddlbaer schrieb:
Ich bin immer noch für den Desturktor

Gut überzeugt. Das ist wohl wirklich 100%.
-
Wird nicht beim Beenden eines Programms automatisch von Windows dessen belegter Speicher wieder freigegeben?
-
TeeJay schrieb:
Wird nicht beim Beenden eines Programms automatisch von Windows dessen belegter Speicher wieder freigegeben?
IMHO ab W2K. SOllte man aber trotzdem vermeiden. Was hindert jemanden das Programm auf Win98 auszuführen.
Bei einer Exeption wird der Destructor auch nicht aufgerufen. Fazit Exeptions garnicht zulassen.
-
Werden nicht alle Objekte auf dem Stack zerstört ?
(CWinApp wird meines Wissens auf dem Stack abgelegt)
-
Bei C++ Exception schon...