MFC中的CFileDialog问题.下面代码看似没有问题,但是拿到程序中会导致程序崩溃

第一次打开CFileDialog时没问题,但第二次打开时就会出现问题,导致程序崩溃,何解?staticcharBASED_CODEszFilter[]="MP3Files... 第一次打开 CFileDialog时没问题,但第二次打开时就会出现问题,导致程序崩溃,何解?
static char BASED_CODE szFilter[] = "MP3 Files (*.mp3)|*.mp3|AVI Files(*.avi)|*.avi|WAV Files(*.wav)|*.wav|WMA Files(*.wma)|*.wma||";
CFileDialog* fDlg=new CFileDialog(TRUE,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,szFilter,NULL);
if(fDlg->DoModal()==IDOK)
{
m_Path = fDlg->GetPathName();
if(m_Path=="") return;
}
CString filename = fDlg->GetFileName();
展开
 我来答
437384801
2011-10-09 · TA获得超过1867个赞
知道小有建树答主
回答量:1299
采纳率:0%
帮助的人:510万
展开全部
最好不要用指针去这样做,直接这样CFileDialog fDlg(TRUE,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,szFilter,NULL);
这样就一定不会出问题,
而你高尘型用的兄纤是指针的方法,CFileDialog* fDlg=new CFileDialog(TRUE,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,szFilter,NULL);
指针的不安全,一般不适用在MFC,
如果一戚猜定要的,看看谁否delete fDlg;
了吗。因为CFileDlog会占用很多资源的,要释放的
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式