MFC的动态保存&提取类DYNAMIC_CREATE

思路:

保存时:

   1. 保存类名称

             2. 保存类数据

提取时:

   1. 提取类名称

   2. 创建类

   3. 提取类数据

 

实现:

实现DYNAMIC CREATE,需要构建MFC的Dynamic create链表结构,一般都是直接使用MFC提供的宏实现

1. 继承 CObject

2. 类定义中添加 DECLARE_DYNCREATE

3. 类cpp实现中添加 IMPLEMENT_DYNCREATE

保存时没有什么疑问,类名称保存, 然后类保存  

        ar << #CXXXX;  

        CXXXX.serialize(ar);

提取时,提取名称,动态创建,提取类数据

        ar >> cstrClassName;  

        CObject* ptr = (CObject*) CRuntimeClass::Load(cstrClassName);

        ptr->CreateObject();

        ptr->serialize(ar);

 

 

 

 

 

你可能感兴趣的:(提取,保存,Serialize,CRuntimeclass)