要销毁的对话框中包含一个播放gif动画的指针 为m_pLoading 是一个对话框指针;在m_pLoading的析构中释放的gif指针
if(m_pGIFShow != NULL)
{
     delete m_pGIFShow;
     m_pGIFShow = NULL;
}销毁对话框的函数
void    CLoading::EndDlg()
{
m_pGIFShow->Stop();
CDialog::OnOK();
DestroyWindow();
}
要销毁的对话框为一个指针为主对话框的成员创建对话框
m_pLoading = new CLoading(NULL);m_Loading->LoadRes(60,60,L"progress.gif");if(m_Loading.DoModal() == IDOK)
{}销毁对话框
if(m_pLoading)
{
m_pLoading->EndDlg();
}请问如何删除m_pLoading指针

解决方案 »

  1.   

    delete 后,直接崩溃了。 不知道是什么原因
      

  2.   

    void CLoading::EndDlg()

    m_pGIFShow->Stop();
    CDialog::OnOK();
    DestroyWindow();
    }
    ===========
    为什么要调用CDialog::OnOK啊
      

  3.   

    不定时创建?可不可以不销毁,直接SW_HIDE掉,用的时候SW_SHOW
      

  4.   


    不用掉用CDialog::OnOK();
    销毁后,我还是不能点击主窗口
      

  5.   

    CLoading* m_pLoading = new CLoading;if(m_pLoading->DoModal() == IDOK)
    {}
    delete m_pLoading;
    m_pLoading = NULL;
      

  6.   


    这样的话,我是不是只用让m_pLoading返回IDOK。 还用调用DestroyWindow();销毁窗口吗
      

  7.   

    如果点击了OK,则会执行EndDialog……
      

  8.   

    在对话框的OnNcDestory中Delete this;