加载新文档后直接执行操作

时间:2014-03-23 13:21:11

标签: visual-c++ mfc

我正在尝试在加载新文档后直接执行删除文件操作。这可能吗?我试过了:

BOOL CEmergenceDoc::OnNewDocument()  
{
    if (!CRichEditDoc::OnNewDocument())
        return FALSE;

CString title = CEmergenceView::GetView()->GetDoc()->GetTitle();

CStringA sB(title);
    const char* pszC = sB;
    char* pszD = const_cast<char*>(pszC);

    if(std::ifstream(pszD) ) {
        CEmergenceDoc::isNewFile = false;
    DeleteFile(title);
}

    return TRUE;
  }

但是这给了我一个调试断言错误。

编辑:

经过一番挖掘之后,我发现调试断言错误正在显示,因为我在加载视图之前调用了视图。但是,我可以在哪里放置这些代码,以便在加载新文档和视图后直接执行它?

1 个答案:

答案 0 :(得分:1)

如果您确实需要该视图,则可以使用CView::OnInitialUpdate()

我不确定你要做什么,但我会怀疑你是否真的需要这个观点。你不能这样做:

 CString title = GetTitle();

假设CEmergenceDoc派生自CDocument。或者您是否尝试从当前显示的视图中获取另一个文档的文档标题?