⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 untitled-22.txt

📁 mfc 教程
💻 TXT
字号:
化过程就完了。这时除了显示一个出错消息以外无事可做,如果您自己不处理异常事件的
话,MFC就会代您做。但是如果VERSIONABLE.SCHEMA标志存在,MFC就会跳过
AfxThrowA。hiveException,将模式编号保存在应用程序通过调用Getobjectschema可以检索到
的地方。这就说明了为什么 VERSIONABLE.SCHEMA和 Getobjectschema是对可串行化类进
行成功版本编号的关键。
6.2.5串行化CObject
    在结束本章之前,我对有关串行化 C0bject还有些建议。 MFC为 C0bject指针重载了
CArchive的插人和提取运算符,但对  C0bject没有重载。这就意味着下面的语句有效:
      come。ppine=new Cwine(Ceoint(O,O),Ctoint(IOO,SO》;
        df<<PLlfl6;
而以下语句无效:
      Cnine line(CPoint(0, O), CPoint(IOO, SO》;
        ar<< lrne;
也就是说,C0bjects可以用指针而不能用值串行化。通常这并不是问题,但如果您要编写可
串行化的类而该类又使用其他可串行化的类作为内部数据成员时,串行化这些数据成员就
出现麻烦了。
    通过值而不是指针串行化C0bject的一种方法是按下列程序代码进行串行化和并行化:
        // Serialize.
      CLine line(CPoint(O, O), CPoint(100, 50》;
        &f<<&lifl6;
      // Deserlallze.
      CLine针pLine;
        dl>>PLlflg;
      CL工rsl主flfl一天pL主flfl;// ASSSmSS cL土SS hSS S COpy C0flstSSCtOO.
      delete pLinei
但是更通用的方法是直接调用其他类的Serialize函数,如下:
      // Serialize.
      CLine line(CPoint(O, O), CPoint(100, 50》;
      l。ne.Serial。ie(ar);
        // Deeerialize.
        CLiff6 liflg;
      line.Ser。al。ie(ar);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -