我有一个由DLL和Windows控制台应用程序.exe。
组成的项目.exe调用DLL。在DLL中我正在创建一个对话框。
AFX_MANAGE_STATE(AfxGetStaticModuleState());
MyDlg* dlg = new MyDlg;
dlg->Create(IDD_DIALOG1);
我不得不添加AFX_MANAGE_STATE(AfxGetStaticModuleState()),因此它知道在DLL中查找资源。但是,当控制返回到EXE时,这似乎会导致问题。
当我"返回0"在EXE的main()函数中,控制台窗口不会消失。为了让EXE停止运行,我必须将它关闭。如果我从DLL中删除AFX_MANAGE_STATE(AfxGetStaticModuleState())(以及所有对MyDlg的引用,因为它们在没有它的情况下无法工作),当控制权传递回EXE时,一切正常。
为什么会这样?
答案 0 :(得分:0)
固定。我的DLL正在使用DAO。我不得不添加AfxDaoTerm();在退出之前。谢谢