晕死
按照 深入浅出MFC serialize 的五个必要条件写了相应的代码save 的时候好像没有问题
用文本方式 打开时 文件内已写有内容。但是open的时候就 程序运行错误。后来,我就思考,是不是 还要重载 OnFileOpen , OnFileNew 这几个函数?请各位 前辈 指教!
按照 深入浅出MFC serialize 的五个必要条件写了相应的代码save 的时候好像没有问题
用文本方式 打开时 文件内已写有内容。但是open的时候就 程序运行错误。后来,我就思考,是不是 还要重载 OnFileOpen , OnFileNew 这几个函数?请各位 前辈 指教!
解决方案 »
- 如何对一条曲线进行跟踪(两条曲线交叉情况下)?
- VS2005下的生成的控制台程序---隐藏DOS窗口???????
- 求数据库连接池代码
- 奇怪,SQL语句加了order by就不能moveprevious了?
- 有那位知道计算机各端口的地址,请告知一下。我只知道打印口的地址是:XA378到37A
- 我是VC新手,请问怎么设置一个对话框,使得它的背景是一幅位图!
- 怎么获取一种数据类型的最高与最低数值??
- 菜鸟求助!有关Activeskin 的问题!救命!
- 我想学蚂蚁左边作一个ctreeview,右边一个视图,然后,单机ctreeview的某个接点,右边动态切换视图,问题很大,请给思路,谢谢
- 如何获得和设置TCP/IP协议数据包中的IP数据报头内容?,高手请进!!
- 《Windows程序设计(第五版)》第13章的PopPad例子程序中的bug
- ocx 在 IE中的消息传递是怎么回事?
或者你把Serialize部分代码贴出来看看
大家 帮帮忙!
————————————————————————————————
class CMyDocument
{
CList<CGraph*,CGraph*> m_graphList;
}void CGraph_TestDoc::Serialize(CArchive& ar)
{
if (ar.IsStoring())
{
// TODO: add storing code here
}
else
{
// TODO: add loading code here
}
m_graphList.Serialize( ar );
}void CGraph::Serialize(CArchive &ar )
{
if( ar.IsStoring() )
{
ar << m_color;
ar << m_isFirstDraw;
ar << m_originalPoint;
}
else
{
ar >> m_color;
ar >> m_isFirstDraw;
ar >> m_originalPoint;
}
}void CLine::Serialize(CArchive &ar)
{
if( ar.IsStoring() )
{
ar << m_pointX ;
}
else
{
ar >> m_pointY ;
}
CGraph::Serialize( ar );
}
ifstream file;
file.open("file1.txt");//这个 文件需要在当前的文件夹内.
CList串行化的实现就是针对链表中的每个对象再执行Serialize操作
链表中保存的是CGraph*指针,所以不能直接串行化m_graphList;如果链表中保存的是CGraph对象就可以试试改成这样CList<CGraph,CGraph&> m_graphList
或者你也可以自己用循环实现对链表中每个对象的串行化