我有一个旧的MFC应用程序,其OnCreate函数跨越200行。
CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
...
PostMessage(LOAD_IMAGES,0,0);
...
ValidatePermissions();
...
}
LOAD_IMAGES
是一个用户消息,其处理程序尝试加载从上一个会话中未保存的图像..基本上它会尝试创建一个新的CDocument ...
ValidatePermissions
函数会在找不到任何权限时弹出模态消息框。
我注意到如果我弹出模态消息框,那么当LOAD_IMAGES处理程序触发时我会崩溃(因为它无法创建CD文档,我认为这是因为CMainFrame尚未创建)。
我该如何处理这种情况。是否有任何文档暗示OnCreate中没有模态消息框?
答案 0 :(得分:1)
尝试将对ValidatePermissions的调用移动到LOAD_IMAGES的消息处理程序。这应该让窗口创建完成,然后让消息框输出消息。