我收到以下错误:
对于以下代码:
BOOL CVisuComm::OnOpenDoc()
{
CDocument myCDoc; //LINE AT WHICH THE ERROR OCCURS
CInterfaceDoc myCInterfaceDoc;
char tabchar[80]="c:/test111.dat";
CString myFilename;
myFilename="c:/test111.dat";
/*if(!myCDoc.OnOpenDocument(tabchar))
{
MessageBox("Erreur à l'ouverture..","OnOpenDocument",MB_OK);
return false;
}
else
{
MessageBox("Ouverture OK..","OnOpenDocument",MB_OK);
}*/
myCInterfaceDoc.OnOpenDocument("c:/test111.dat");
return true;
}
任何帮助表示赞赏。
最佳答案
编译器会告诉您确切的信息。您不应该创建CDocument
的具体实例-实际上,您不能像刚刚看到的那样创建。而是to quote the MSDN:
您可能会问为什么。答案实际上也在MSDN上,尽管以一种回旋的方式出现:
当调用周围的应用程序代码的save方法时,可以针对CDocument*
接口(interface)而不是具体的类编写它们。这使他们可以对每种类型的文档执行完全相同的操作-即,调用serialize
方法。