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



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

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;
  }

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

编辑:

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

如果你真的需要这个视图,那么你可以使用CView::OnInitialUpdate()

我不太确定你想做什么,但我想问你是否真的需要这个视图。你就不能这样做吗:

 CString title = GetTitle();

假设CEmergenceDoc来源于CDocument。或者您正在尝试从当前显示的视图中获取另一个文档的文档标题?

最新更新