Память не может быть освобождена более чем одним CDHtmlDialogs. (Перейдите по тому же URL) - PullRequest
0 голосов
/ 22 марта 2019

MFC создает Modaless CDHtmlDialog более одного раза и удаляет один или несколько. Память остается невыпущенной и накапливается до 10 ~ 20 МБ на один CDHtmlDialog, пока не будет создан новый modaless CDHtmlDialog со всеми удаленными CDHtmlDialog.

Я попробовал это решение. Но не решено.

    VOID CMyManagerDlg::CreateMyDlg()
    {
        CMyDlg *pMyDlg = new CMyDlg();
        pMyDlg->Create(IDD_CID, GetDesktopWindow());
        m_pMyDlg = pMyDlg;
        m_pMyDlg->Navigate("https://www.googole.com");
        m_pMyDlg->ShowWindow(SW_SHOW);
    }          
    VOID CMyManagerDlg::RemoveMyDlg()
    {
        m_pMyDlg->DestroyModeless();
        CoFreeUnusedLibraries();  // sol1
    }   
    void CMyDlg::PostNcDestroy()
    {
        delete this;   //sol2
        CDHtmlDialog::PostNcDestroy();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...