我用CFileDialog保存一个bmp文件,代码
CFileDialog dlg(false,"bmp",NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "位图文件(*.bmp).bmp|",NULL);
if (dlg.DoModal()!= IDOK) return;
CString filename = dlg.GetFileName();
.
.
.
这样虽然可以把文件保存下来,但是会和我在程序中加的matlab动态链接库发生冲突,就是只要一调用完保存文件的程序再调用动态链接库中的matlab程序就会提示错误。
我把上边的程序直接改为:
CString filename = "文件名.bmp";
.
.
. 不再用保存文件对话框,这样就没有问题了,这就说明问题就在调用保存文件对话框这部分,是不是没有释放CFileDialog对象?又该怎么释放呢?请大家帮帮忙,谢谢了!
CFileDialog dlg(false,"bmp",NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "位图文件(*.bmp).bmp|",NULL);
if (dlg.DoModal()!= IDOK) return;
CString filename = dlg.GetFileName();
.
.
.
这样虽然可以把文件保存下来,但是会和我在程序中加的matlab动态链接库发生冲突,就是只要一调用完保存文件的程序再调用动态链接库中的matlab程序就会提示错误。
我把上边的程序直接改为:
CString filename = "文件名.bmp";
.
.
. 不再用保存文件对话框,这样就没有问题了,这就说明问题就在调用保存文件对话框这部分,是不是没有释放CFileDialog对象?又该怎么释放呢?请大家帮帮忙,谢谢了!
==========
这个不用释放吧,又不是指针,就一个局部变量,函数结束时会自己析构的。
不知道问题在哪儿,不过一般都是写作:CString filename = dlg.GetPathName();
CString filename = dlg.GetFileName();
return;