我建立了一个CPtrList recordlist;   //管线链表   
来存储视图类里面的管网数据,但在串行化时不知怎么做,我想在文件保存完后重新打开时能够对保存前的管网进行操作,弄了两天没成,劳请帮一下忙,谢谢!

解决方案 »

  1.   

    CPtrList recordlist 保存的是指针的链表... 不知道你要问什么
      

  2.   

    你的链表成员都从CObject继承并实现序列化就可以了。
      

  3.   

    我在CMyDoc里见面建了CPtrList recordlist;//管线链表,用来存储CMyView里管线结构体里的数据:
    struct Line
    {
    COLORREF color;
            int arrowtype;
        Dot qidian;       //起点
            Dot zhongdian;    //终点
        CPoint midpoint;  //管段拐点
        int num;          //管段号码     
         double length;    //管长
        double diameter;  //管径 double lineyajiang;//管段压降
    double linewenjiang;//管段温降
    double lineliuliang;//管段流量
    double lineliusu;//管段流速
        };
    通过界面画的图、管段数据、计算结果都能保存,但从新打开后就不能对管线图操作。我想应该是void CMyDoc::Serialize(CArchive& ar)
             if (ar.IsStoring())
    {
                   // TODO: add loading code here
            }
            else
    {
    // TODO: add loading code here
    }
    这里出问题了吧?
      

  4.   

    以前写的串行化的demo,你下来看看就知道什么是串行化了
    http://www.njcpp.cn/serizeview.rar
      

  5.   

    你给的串行化的demo,我运行了,但是报这个错误:
    error LNK2001: unresolved external symbol "public: __thiscall CSerilizeTest2::CSerilizeTest2(void)" (??0CSerilizeTest2@@QAE@XZ)
    不知为何?
      

  6.   

    添加SerilizeTest2.h 和 SerilizeTest2.cpp到工程中去
      

  7.   

    由于您从未结过贴,所以特此介绍一下结贴的方法如果您问题已经得解决,请您及时结帖给分,以感谢帮助您的朋友。 结帖方法:点击版面右上方或右下方 [管理] ,进入页面后就可以输入密码,分别给分,结帖。 
     或参考:
    http://www.csdn.net/help/over.asp
    http://topic.csdn.net/u/20080110/19/7cb462f1-cac6-4c28-848e-0a879f4fd642.html
    =============================================================================
    问题解决,请及时结贴。  
     正确结贴方法:    
     管理帖子-->给分-->输入密码-->结贴
    == 思想重于技巧 ==