例如:MySerializeClass串行化类名
类头文件中含有如下数据结构
typedef struct FILEINFO{
CString Name;
CSstring Path;
}FileInfo,*pFileInfo;
typedef CArray<pFileInfo,pFileInfo> MyFileArray;
typedef struct PROJECTINFO
{
CString ProName;
CString ProPath;
MyFileArray SrcFileArray;
MyFileArray IncFileArray;
}ProjectInfo,*pProjectInfo;
类信息如下:
Class MySerializeClass
{
...
pProjectInfo p_ProjectInfo;
pFileInfo SrcFile;
pFileInfo IncFile;
void Serialize(CArchive &ar);
...
}
在类 头文件中加入 :extern MySerializeClass *pMySerializeClass;
在void Serialize(CArchive &ar)保存结构体PROJECTINFO的全部信息
我的关键问题是:在另一个类中通过 pMySerializeClass = new MySerializeClass然后pMySerializeClass-〉p_ProjectInfo->SrcFileArray.Add(SrcFile)给予赋值,然后再回到此类调用Serialize(ar)去保存,结果提示指针为空
难道要保存的数据的赋值不在串行化类中不可以,还是我这样做有问题,请各位大侠指教
类头文件中含有如下数据结构
typedef struct FILEINFO{
CString Name;
CSstring Path;
}FileInfo,*pFileInfo;
typedef CArray<pFileInfo,pFileInfo> MyFileArray;
typedef struct PROJECTINFO
{
CString ProName;
CString ProPath;
MyFileArray SrcFileArray;
MyFileArray IncFileArray;
}ProjectInfo,*pProjectInfo;
类信息如下:
Class MySerializeClass
{
...
pProjectInfo p_ProjectInfo;
pFileInfo SrcFile;
pFileInfo IncFile;
void Serialize(CArchive &ar);
...
}
在类 头文件中加入 :extern MySerializeClass *pMySerializeClass;
在void Serialize(CArchive &ar)保存结构体PROJECTINFO的全部信息
我的关键问题是:在另一个类中通过 pMySerializeClass = new MySerializeClass然后pMySerializeClass-〉p_ProjectInfo->SrcFileArray.Add(SrcFile)给予赋值,然后再回到此类调用Serialize(ar)去保存,结果提示指针为空
难道要保存的数据的赋值不在串行化类中不可以,还是我这样做有问题,请各位大侠指教
------------------
p_ProjectInfo使用之前需要初始化。因为这个是一个指针。