2016-05-02 22 views
-1

Wenn ich einen neuen Dialog erstellen und DoModel darauf aufrufen. Ich bekomme die folgende Debug-Assertion.Debug Assertion fehlgeschlagen in mfc140ud.dll

Der Code ist

if (m_pWatchDogDialog->WatchDogServer().CurrentUserStatus() == CServerLink::AWAY) 
       { 
        CString msg("Requested user is away"); 
        m_pWatchDogDialog->WatchDogServer().SendUserMessage(m_UserKey, msg); 
       } 
      else 
      { 
       AcceptFile *dlg = new AcceptFile(); 
       dlg->DoModal(); // error is throwing up here 
      } 

Der Fehler wie unten

enter image description here

The Assertion is at the debug point as shown in image in dlgcore.cpp file

+0

Und wenn Sie auf "Retry" geklickt haben, was passiert? Sie sollten zu der Zeile in der Laufzeitbibliothek geführt worden sein, die die Assertion aufruft. – PaulMcKenzie

+0

@PaulMcKenzie: afxwin1.inl ist Teil der MFC-Implementierung, nicht die Laufzeit. Abgesehen davon, yeah, klicken Sie offensichtlich auf * Retry *, wie der Assertion-Dialog sagt ... Hören Sie auf, hilflos zu sein. Außerdem sollten Sie die automatische Speicherdauer für Ihr "AcceptFile" -Objekt verwenden. Es gibt keinen Grund, es "neu" zu machen, es sei denn, Sie möchten Ihre Fehlerbehebungsfähigkeiten im Speicherleck trainieren. Ignorieren Sie auch nicht die Debug-Ausgabe beim Beenden der Anwendung. Es ** sagt dir, dass du Erinnerungen verlierst. – IInspectable

+0

Wie empfohlen, habe ich meinen Code in automatischen Speicher für mein AcceptFile-Objekt geändert, aber ich erhalte wieder den gleichen Fehler –

Antwort

0

Unter der Annahme, dass AcceptFile von CDialog erbt, kann wahrscheinlich gezeigt wird Sie die Debug-Assertion durch die verhindern Erweitern des AcceptFile-Konstruktors durch Aufrufen des CDialog-Konstruktors mit einem lpszTemplateName Streit. Zum Beispiel:

class AcceptFile : public CDialog 
{ 
public: 
    AcceptFile(LPCTSTR lpszTemplateName, CWnd* pParentWnd = NULL) 
     : CDialog(lpszTemplateName, pParentWnd) 
    { 
     // your code here 
    } 

// other stuff 
}; 
Verwandte Themen