MFC中CFileDialog的有关问题,困扰小弟我好几周了,各位帮忙看看!

MFC中CFileDialog的问题,困扰我好几周了,各位帮忙看看!!!!
我在一个程序里面用了CFileDialog类,用来加载文件。但是它会不定时的崩溃,有时候正常,有时候刚弹出文件对话框,闪一下就无故退出了。调试起来也特别不好弄,问题是不定时出现。网上说的方法我也都试过了,不起作用。有哪位知道,麻烦教一下我,不胜感激啊!!!!

应该不是我其他代码的原因,我重新开了一个工程,其他什么都没改,就添了以下代码,问题依旧;

void CtestMFCDlg::OnBnClickedOk()
{
// TODO: Add your control notification handler code here
//OnOK();
CFileDialog *pFileDlg = NULL;
TCHAR szFilters[] = _T("所有文件(*.*)|*.*||");

pFileDlg = new CFileDialog(TRUE, NULL, NULL, OFN_NOCHANGEDIR, szFilters, this);
if (pFileDlg != NULL)
{
pFileDlg->DoModal();
delete pFileDlg;
}
}

------解决思路----------------------
你逐步修改调试,去找问题
CFileDialog fd(TRUE,"*.ZIP","",OFN_HIDEREADONLY 
------解决思路----------------------
 OFN_OVERWRITEPROMPT,"ZIP文件
------解决思路----------------------
*.ZIP
------解决思路----------------------
",NULL);
你改成这样,看看还死不死

------解决思路----------------------
这个,我也不知道为什么,只是平时一直这么用,从来没出现过问题。
不过你这里确实不需要new,临时变量就可以了。
你的开发环境是什么?
------解决思路----------------------
我这样做你这个,没发现问题

    CString szFilters = _T("所有文件(*.*)
------解决思路----------------------
*.*
------解决思路----------------------
");
CFileDialog fileDlg(true, NULL, NULL, OFN_NOCHANGEDIR, szFilters, this);
if(fileDlg.DoModal()!=IDOK)
{
// 操作完成
return;
}

------解决思路----------------------
要new是因为MFC 6.0的bug,没有预估到Windows 2000会增加OPENFILENAME的大小
7.0以上版本的MFC不用new
基本上,如果Windows的资源管理器会崩溃的场合,文件对话框也经常会崩溃,所以要经常看是不是有KB2718841这样的补丁出来,或者是不是安装了Adobe PDF的文件预览插件。