Programm beendet sich nicht korrekt !



  • Hallo ,

    ich arbeite mit VC7.0 (.Net ) .
    Habe ein Programm folgendermassen erstellt.
    Neu
    MFC-Anwendung
    Anwendungstyp: Einfaches Document

    Meine eigene Klassen rufe ich in der Methode auf:

    BOOL CSplittenDoc::OnNewDocument()
         {
    	if (!CDocument::OnNewDocument())
    		return FALSE;
    	CDatei_Verwalter * poDatei_Verwalter = new CDatei_Verwalter;
    	poDatei_Verwalter->Run( );
    
    	//Aufräumen
    	delete poDatei_Verwalter; poDatei_Verwalter = 0;
    
    	return FALSE;
        }
    

    Komischerweise , nach dem Beenden von meinem Programm , bleibt eine Programm-Instanz im Speicher hängen.

    Obwohl ich ganz korrekt mit

    delete poDatei_Verwalter; poDatei_Verwalter = 0;
    		return FALSE; ( s.oben )
    

    rausgehe.

    Weiß da jemand Bescheid ?

    Mfg,
    Elke



  • Hm, warum setzt du denn poDatei_Verwalter nach dem Löschen noch auf 0? Hat das nen besonderen Grund?

    Gruß
    Neron



  • Mit

    delete poDatei_Verwalter;
    

    lösche ich den Bereich auf den der Zeiger zeigt.

    Und damit er nicht niergendwo hinzeigt , setze ich ihn auf 0 . Die gleiche Wirkung hat NULL

    poDatei_Verwalter = 0;
    

    mfg , Elke


Anmelden zum Antworten