C++ DLL中的AFX_管理_状态(AFXGetStaticModuleEstate())是否会导致EXE不退出?

C++ DLL中的AFX_管理_状态(AFXGetStaticModuleEstate())是否会导致EXE不退出?,c++,mfc,C++,Mfc,我有一个由DLL和windows控制台应用程序.exe组成的项目 .exe调用DLL。在DLL中,我正在创建一个对话框 AFX_MANAGE_STATE(AfxGetStaticModuleState()); MyDlg* dlg = new MyDlg; dlg->Create(IDD_DIALOG1); 我必须添加AFX_MANAGE_STATE(AfxGetStaticModuleState()),以便它能够在DLL中查找资源。但是,当控件返回到EXE时,这似乎会导致问题 当我在E

我有一个由DLL和windows控制台应用程序.exe组成的项目

.exe调用DLL。在DLL中,我正在创建一个对话框

AFX_MANAGE_STATE(AfxGetStaticModuleState());
MyDlg* dlg = new MyDlg;
dlg->Create(IDD_DIALOG1);
我必须添加AFX_MANAGE_STATE(AfxGetStaticModuleState()),以便它能够在DLL中查找资源。但是,当控件返回到EXE时,这似乎会导致问题

当我在EXE的main()函数中“返回0”时,控制台窗口不会消失。我必须实际关闭它,以便EXE停止运行。如果我从DLL中删除AFX_MANAGE_STATE(AFXGetStaticModuleEstate())(以及对MyDlg的所有引用,因为没有它它们就无法工作),那么当控件传递回EXE时,一切都会正常工作


为什么会发生这种情况?

已修复。我的DLL正在使用DAO。我必须添加AfxDaoTerm();在离开之前。谢谢

连接调试器并查看阻止进程退出的原因。已修复。我的DLL正在使用DAO。我必须添加AfxDaoTerm();在离开之前。谢谢。请将此作为答案发布,以便其他有相同问题的人知道如何解决它。