用MFC保存文档时出线了保存文档失败的揭示
用MFC保存文档时出线了保存文档失败的提示。
我建立了一个多文档程序
文档类中有一个类对象实例
CTypedPtrArray<CObArray,CGraphicElement*> sogOA;
我写了文档的Serialize(ar)和CGraphicElement的Serialize()
文档类的为:
void ChuweiDoc::Serialize(CArchive& ar)
{
if (ar.IsStoring())
{
// TODO: 在此添加存储代码
sogOA.Serialize(ar);
}
else
{
// TODO: 在此添加加载代码
sogOA.Serialize(ar);
}
}
CGraphicElement的为:
void CGraphicElement::Serialize(CArchive& ar)
{
if(ar.IsStoring())
{
ar<<geFormat<<geHeader<<sPntPosition;
}
else
{
ar>>geFormat>>geHeader>>sPntPosition;
}
}
结果当sogOA不为空是,保存时出现保存文档失败。
当sogOA为空时,没事!
我加了断点后调试发现,每次运行到文档类的Serialize时就已经报错了,并没有执行到CGraphicElement类的Serialize。
请问是为什么,怎么解决????
------解决方案--------------------
又见此贴,楼主不是自己解决了嘛。
把CGraphicElement类得操作符自己重载了
http://topic.****.net/u/20120816/02/a0ba161c-f63a-4472-a2ae-9175933112f0.html
我建立了一个多文档程序
文档类中有一个类对象实例
CTypedPtrArray<CObArray,CGraphicElement*> sogOA;
我写了文档的Serialize(ar)和CGraphicElement的Serialize()
文档类的为:
void ChuweiDoc::Serialize(CArchive& ar)
{
if (ar.IsStoring())
{
// TODO: 在此添加存储代码
sogOA.Serialize(ar);
}
else
{
// TODO: 在此添加加载代码
sogOA.Serialize(ar);
}
}
CGraphicElement的为:
void CGraphicElement::Serialize(CArchive& ar)
{
if(ar.IsStoring())
{
ar<<geFormat<<geHeader<<sPntPosition;
}
else
{
ar>>geFormat>>geHeader>>sPntPosition;
}
}
结果当sogOA不为空是,保存时出现保存文档失败。
当sogOA为空时,没事!
我加了断点后调试发现,每次运行到文档类的Serialize时就已经报错了,并没有执行到CGraphicElement类的Serialize。
请问是为什么,怎么解决????
------解决方案--------------------
又见此贴,楼主不是自己解决了嘛。
把CGraphicElement类得操作符自己重载了
http://topic.****.net/u/20120816/02/a0ba161c-f63a-4472-a2ae-9175933112f0.html