Klassenvariable eingeführt-->Absturz! Warum ?



  • Ich habe auf dem ganz offiziellen Wege in meinem Hauptdialogfeld eine Klassenvariable für eine andere Klasse angelegt.

    Das Programm läuft fehlerfrei, nur wenn ich auf Beenden gehe, kommt "Debug Assertion Failed!

    Lösche ich die Variable wieder, läufts problemlos.

    Das ist doch nicht normal , oder ?



  • Bei Debug Assertation failed steht immer noch ne zusatzinfo dabei. kannst du mal die ganze meldung hier reinschreiben?



  • File: cmdtarg.cpp (in meinem Programm heiß nichts so, ist irgendwas automatisch erstelltes)
    Line 52

    CCmdTarget::~CCmdTarget()
    {
    #ifndef _AFX_NO_OLE_SUPPORT
        if (m_xDispatch.m_vtbl != 0)
            ((COleDispatchImpl*)&m_xDispatch)->Disconnect();
        ASSERT(m_dwRef <= 1);    //Dies ist Line 52 !!!
    #endif
    #ifdef _AFXDLL
        m_pModuleState = NULL;
    #endif
    }
    


  • Habe eine ältere Programmversion genommen und alles in einer anderen Reihenfolge wiederholt.

    Jetzt passiert etwas sehr ähnliches an einer anderen Stelle.
    Wieder aber wenn ich eine variable einführe.

    -->Nicht abgefangene Ausnahme in SoundPitcher.exe: 0xC0000005: Access Violation.

    Bin ich denn der einzige dem das passiert ?



  • erstell ein neues projekt und mach alles nochmal 🙂



  • Könnte helfen, bin aber nicht motiviert genug, wenn du wüßtest was das an Arbeit heißt 😞



  • ich will versuchen dir zu helfen 🕶
    mail mir mal dein projekt an DasTroll@aberja.com 🙂



  • [ Dieser Beitrag wurde am 21.03.2003 um 15:13 Uhr von Imar editiert. ]



  • Wenn der Debugger stehen bleibt hast du über dem "WatchWindow" ein Feld, das heisst Kontext... Es ist eine Kombobox. Blätter die mal durch bis du was findest, das dir bekannt vor kommt... es kann natürlich durchaus sein, dass quasi ein fehler bei der Anwendung einer Library den Fehler in der Library erzeugt, die Ursache aber irgendwo ausserhalb liegt.

    -junix



  • Ich habs 😃 . Man muß einfach mal den Class-Wizard und ein paar andere Einstellungen neu Initialisieren.

    Visual Studio schließen ,dann verschiebe die Dateien PROJNAME.CLW und PROJNAME.NCB in ein anderes Verzeichnis, dann wieder Projekt öffnen, VisualStudio bemerkt daß Dateien fehlen, wenn gefragt wird, aus welchen Dateien Class-Wizard Informationen lesen soll, dann einfach alle auswählen, jetzt müßte alles wieder in einem sauberen Zustand sein.

    Denke das kann bei einigen Problemen in dieser art auch sehr nützlich sein.
    Danke auch an dev aus dem Spotlight Forum, der mir diesen Tip gegeben hat.

    Imar

    [ Dieser Beitrag wurde am 25.03.2003 um 10:23 Uhr von Imar editiert. ]





  • Tja, das Problem ist halt die Lösung für ein sehr vielseitiges und gestaltiges Problem zu finden....
    "Wenn man weiß wie es geht, ist alles einfach 🕶 "

    Müsste man mal schön zusammentragen und ab dann in die FAQ !

    Damit werden auch Sie geholfen 😉



  • In den FAQ ist das schon, aber soviel ich weiss nur zu den Themen "Klasse weg" und "Intellisense funktioniert nicht". Dass es auch hier die Lösung ist, ist mir aber auch neu.


Anmelden zum Antworten