debug assertion failed!



  • ka ahnung ob das hiereingehört??

    #include <afx.h>
    #include <afxwin.h>
    #include "resource.h"
    
    int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) 
    
    {
    CDialog Dialog1;
    
    Dialog1.Create(IDD_DIALOG1);
    
    return 0;
    }
    

    mh hab gestern den ganzen tag drangehockt nix gefunden

    fehlermeldung lautet:
    Fail:afxwin1.inl
    Line:22

    kann mir einer helfen ?

    thx



  • is der mix aus winapi und mfc absicht oder ein versehen?
    keine ahnung ob sowas gut gehn kann

    tip: erstell dein programm mit dem mfc assistent



  • jep is absicht mitm assi gehts aber mit dem asii will ichs ja net amchen der is halt assi



  • #include <afxwin.h>
    //afx.h kannste dir sparen
    
    class CMyApp:public CWinApp {
    public:
        virtual BOOL InitInstance {
    
            CDialog dlg;
            dlg.Create(IDD_DIALOG1);
            m_pMainWnd=&dlg;
    
            return TRUE;
        }
    };
    
    CMyApp a;
    

    so ähnlich kannst du das machen



  • mh ka was du da machst Frauke2k aber funzen tuts net 15 fehler oder so 😞



  • jo kann gut sein, musst auch noch die resource.h einbinden, hab ich vergessen...
    und die mfc auch noch (projekt->einstellungen mfc verwenden)



  • sry das ich dichnun stess aber geht immernochnet 😞



  • hm... poste doch mal die fehlermeldungen



  • :\dokumente und einstellungen\administrator\eigene dateien\progamme\vc++\dialog\winmain.cpp(16) : error C2433: 'InitInstance' : 'virtual' bei der Deklaration von Daten nicht zulaessig
    c:\dokumente und einstellungen\administrator\eigene dateien\progamme\vc++\dialog\winmain.cpp(19) : error C2143: Syntaxfehler : Fehlendes ';' vor '.'
    c:\dokumente und einstellungen\administrator\eigene dateien\progamme\vc++\dialog\winmain.cpp(19) : error C2501: 'dlg' : Fehlende Speicherklasse oder Typbezeichner
    c:\dokumente und einstellungen\administrator\eigene dateien\progamme\vc++\dialog\winmain.cpp(19) : error C2059: Syntaxfehler : '.'
    c:\dokumente und einstellungen\administrator\eigene dateien\progamme\vc++\dialog\winmain.cpp(19) : error C2238: Unerwartete(s) Token vor ';'
    c:\dokumente und einstellungen\administrator\eigene dateien\progamme\vc++\dialog\winmain.cpp(20) : error C2327: 'CMyApp::dlg' : Element der einschliessenden Klasse ist kein Typname, nicht statisch und keine Aufzählung
    c:\dokumente und einstellungen\administrator\eigene dateien\progamme\vc++\dialog\winmain.cpp(20) : error C2065: 'dlg' : nichtdeklarierter Bezeichner
    c:\dokumente und einstellungen\administrator\eigene dateien\progamme\vc++\dialog\winmain.cpp(20) : error C2258: Ungueltige Syntax fuer rein virtuelle Methode; '= 0' erforderlich
    c:\dokumente und einstellungen\administrator\eigene dateien\progamme\vc++\dialog\winmain.cpp(20) : error C2501: 'm_pMainWnd' : Fehlende Speicherklasse oder Typbezeichner
    c:\dokumente und einstellungen\administrator\eigene dateien\progamme\vc++\dialog\winmain.cpp(22) : error C2059: Syntaxfehler : 'return'
    c:\dokumente und einstellungen\administrator\eigene dateien\progamme\vc++\dialog\winmain.cpp(22) : error C2238: Unerwartete(s) Token vor ';'
    c:\dokumente und einstellungen\administrator\eigene dateien\progamme\vc++\dialog\winmain.cpp(24) : error C2143: Syntaxfehler : Fehlendes ';' vor '}'
    c:\dokumente und einstellungen\administrator\eigene dateien\progamme\vc++\dialog\winmain.cpp(24) : warning C4508: 'WinMain' : Funktion sollte einen Wert zurueckgeben; Ergebnistyp 'void' angenommen
    c:\dokumente und einstellungen\administrator\eigene dateien\progamme\vc++\dialog\winmain.cpp(26) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'a'
    c:\dokumente und einstellungen\administrator\eigene dateien\progamme\vc++\dialog\winmain.cpp(26) : error C2501: 'CMyApp' : Fehlende Speicherklasse oder Typbezeichner
    c:\dokumente und einstellungen\administrator\eigene dateien\progamme\vc++\dialog\winmain.cpp(26) : fatal error C1004: Unerwartetes Dateiende gefunden
    Fehler beim Ausführen von cl.exe.

    dialog.exe - 15 Fehler, 1 Warnung(en)



  • ach weist du was, das wär jetzt zu stressig. nimm doch einfach den anwendungsassistenten für dialogfelder



  • warum findest du den assi eigentlich assi?
    der is doch extra da weil es assi is es ohne assi zu machen wie du grad gemerkt hast



  • ja schon klar aber bei assi hab ich nen haufen queltetxt und weis im grunde net was da alles passiert und das is meiner meinung nach der größte fusch

    wenn ich was amchd an will ich eigentlich schon wissen was ich mach 😉



  • du bist nich der erste von dem ich das hör 🙂
    dafuer gibts ne einfache loesung
    -erstell n neues projekt per assi
    -erstell "in vc" nen neuen ordner namens "muell"
    -schmeiss alles ausser DeinProjektDlg.h und DeinProjektDlg.cpp in den müll ordner
    -kümmer dich nur drum was in den zwei dateien steht

    -es is wichtig dass die anderen files mitkompiliert werden... also ned löschen nur in den müll ordner
    später wirst du rausfinden dass die anderen files manchmal auch ganz nützlich sind... aber für den anfang reichen die zwei



  • #include <afx.h>
    #include <afxwin.h>
    #include "resource.h"
    
    int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) 
    
    {
     CDialog Dialog1;
     Dialog1.Create(IDD_DIALOG1);
     Dialog1.ShowWindow(SW_NORMAL);
    
     return 0;
    
    }
    

    so gehts und dan mit realese die exe erstellen und alles super 😃



  • realese die exe erstellen und alles super

    Wenn im Debug-Modus ein Assertion kommt is nix super.



  • ... weil asserts nur in der debug version existiern und in der release aus dem code entfernt werden



  • klar super is es net aebr kannst du vieleicht sagen warum der kak fehler kommt ???



  • mach es so wie Frauke2k es gesagt hat. leite eine klasse von CWinApp ab und erstelle ein Instanz. Sonst wird das Resource Handle nicht initialisiert.



  • wenn du den assistenten nicht verwenden willst, lies dir mal das durch:

    http://www.henkessoft.de/mfc_einsteigerbuch_kapitel5.htm



  • res vielen dank für denn link 👍



  • Ich weiß, is lange her aber ihr habt euch einen ganz schönen Streß gemacht wegen einem kleinen Fehler:

    #include <afxwin.h> 
    //afx.h kannste dir sparen 
    
    class CMyApp:public CWinApp { 
    public: 
        virtual BOOL InitInstance() { //Einfach die Klammern vergessen! :bulb: 
    
            CDialog dlg; 
            dlg.Create(IDD_DIALOG1); 
            m_pMainWnd=&dlg; 
    
            return FALSE; //FALSE ansonsten wird prog nicht beendet und hängt ewig im RAM
        } 
    }; 
    
    CMyApp a;
    

Anmelden zum Antworten