"Es wurde Versucht eine nicht unterstüzte Operation auszuführen"-Meldung



  • Ich bekomme die oben genannte Meldung(in Form einer MessageBox) wenn ich bei einem mit dem Klassenassistenten angelegten Dialog auf "OK" klicke, danach läuft das Programm "normal"(die funktion die nach dem Dialog Aufgerufen wird, wird nicht aufgerufen) weiter. Im Debug-Modus bekomme ich überhaupt eine Fehlermeldung "Debug Assertion Failed!" und das Programm stürzt ab.
    Der Dialogaufruf:

    void CAnsicht::neu()
    {
    
    	EingabeDialog d;
    	if(IDOK==d.DoModal())
    	{
    		//Fuchs=IDC_RADIO1
    		//Vogel=IDC_RADIO2
    		//Hund=IDC_RADIO3
    		//Meerschwein=IDC_RADIO4
    		CDC *pDC = this->GetDC();
    		char *p_name= new char[d.m_name.GetLength()+1];
    		_tcscpy(p_name, d.m_name);
    		char *p_text= new char[d.m_Text.GetLength()+1];
    		_tcscpy(p_text, d.m_Text);
    		if(GetCheckedRadioButton(IDC_RADIO1,IDC_RADIO4)==IDC_RADIO1)
    		{
    			m_tiere->neu(FUCHS,d.m_x,d.m_y,p_name,p_text);
    			if (!(*m_tiere)[m_tiere->get_size()-1]->laden(pDC, IDB_BITMAP1)) {
    				MessageBox("Laden schlägt fehl!", "Init", MB_ICONEXCLAMATION);
    			}
    		}
    		if(GetCheckedRadioButton(IDC_RADIO1,IDC_RADIO4)==IDC_RADIO2)
    		{
    			m_tiere->neu(VOGEL,d.m_x,d.m_y,p_name,p_text);
    			if (!(*m_tiere)[m_tiere->get_size()-1]->laden(pDC, IDB_BITMAP3)) {
    				MessageBox("Laden schlägt fehl!", "Init", MB_ICONEXCLAMATION);
    			}
    		}
    		if(GetCheckedRadioButton(IDC_RADIO1,IDC_RADIO4)==IDC_RADIO3)
    		{
    			m_tiere->neu(HUND,d.m_x,d.m_y,p_name,p_text);
    			if (!(*m_tiere)[m_tiere->get_size()-1]->laden(pDC, IDB_BITMAP2)) {
    				MessageBox("Laden schlägt fehl!", "Init", MB_ICONEXCLAMATION);
    			}
    		}
    		if(GetCheckedRadioButton(IDC_RADIO1,IDC_RADIO4)==IDC_RADIO4)
    		{
    			m_tiere->neu(MEERSCHWEIN,d.m_x,d.m_y,p_name,p_text);
    			if (!(*m_tiere)[m_tiere->get_size()-1]->laden(pDC, IDB_BITMAP4)) {
    				MessageBox("Laden schlägt fehl!", "Init", MB_ICONEXCLAMATION);
    			}
    		}
    	}
    }
    

    Der Dialog nutzt vier Eingabefelder und in einem Gruppenfeld vier Radio-buttons.
    Da ich keine MessageBox dieser Art im meinem Code implementiert habe, schätze ich mal dass diese in der MFC implementiert ist.
    Könnte mir wer sagen warum diese Meldung auftritt?
    EDIT: der Dialog bleibt normal offen, "Abbrechen" ist die einzige alternative



  • bei dem Fehler steht mit sicherheit eine Zeile, poste die mal dazu dann fällt es einfacher! Ansonsten poste mal die ganze message, unter Win 2K kannst mit strg + c den Text einer Meldung kopieren!



  • Starte im Debugmodus und drücke bei der ASSERTion mal Wiederholen.
    Dann zeig und den Code, wo du landest. 🙂



  • Hat sich erledigt, habe eine Listbox gelöscht, und vergessen das füllen der ListBox herauszulöschen. trotzdem danke.


Log in to reply