写文部分:void CScriptView::SaveGraUint()
{
char  szWorkDir[MAX_PATH];
CString strFilename;
GetCurrentDirectory(MAX_PATH,szWorkDir);
strFilename.Format("%s\\comp\\VQC.top",szWorkDir);
    CFile File;
if(File.Open((LPCTSTR)strFilename,CFile::modeCreate|CFile::modeWrite))
{
        CArchive ar(&File,CArchive::store); POSITION posList=m_selection.GetHeadPosition();
while(posList != NULL)
{
CSEObjList *pObjList = m_selection.GetNext(posList);
if (ar.IsStoring())
{
pObjList->Serialize(ar);
}
}
ar.Close();
    File.Close();
}

}写文件成功,其中m_selection为对象连表
typedef CTypedPtrList<CObList, CSEObj*> CSEObjList;
...
typedef CTypedPtrList<CPtrList, CSEObjList*> CSEListList;...
CSEListList m_selection;...
读部分: char  szWorkDir[MAX_PATH];
CString strFilename;
GetCurrentDirectory(MAX_PATH,szWorkDir);
strFilename.Format("%s\\comp\\VQC.top",szWorkDir);
    CFile File;
if(File.Open((LPCTSTR)strFilename,CFile::modeRead))
{
        CArchive ar(&File,CArchive::load); pObjList = new CSEObjList; if (ar.IsLoading())
{
    pObjList->Serialize(ar);  //此行出错,为什么?
}
ar.Close();
File.Close();
}