我用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对象?又该怎么释放呢?请大家帮帮忙,谢谢了!

解决方案 »

  1.   

    不再用保存文件对话框,这样就没有问题了,这就说明问题就在调用保存文件对话框这部分,是不是没有释放CFileDialog对象?又该怎么释放呢?请大家帮帮忙,谢谢了!
    ==========
    这个不用释放吧,又不是指针,就一个局部变量,函数结束时会自己析构的。
    不知道问题在哪儿,不过一般都是写作:CString filename = dlg.GetPathName();
      

  2.   

    if (dlg.DoModal()!= IDOK){
        CString filename = dlg.GetFileName();
        return;
      

  3.   

    应该是你调用对话框的时候用的相对路径吧,当用FileDialog的时候,程序的相对路径就变了,在你调用Dll的时候,调用就会失败!
      

  4.   

    SetCurrentDirectory自己再设置一下当前工作目录