I'm getting an exception thrown for CArchive. This is code that worked in a VS6 (COM) DLL that is being updated to VS8 (VS.NET 2005) and an MFC DLL (removed COM).

Relevant Code:

Code:
   CString strName = _T("");
   CSequence* pSequence = NULL;
   CFile file;

   CFileException fe;
   CString msg;

   
      // open file
   if (!file.Open(strFilePath, CFile::modeRead | CFile::shareDenyWrite, &fe))
   {
        // Error handling - no file open issues
   }

   CArchive ar(&file, CArchive::load);

	ar >> pSequence; // **EXCEPTION

	ar.Close();
	file.Close();

Exception happens at the ar >> pSequence line.

For the CSequence class, the constructor with CArchive is a Serialize.
Code:
	virtual void Serialize(CArchive& ar);
When it reads the files (created a long time ago, but still working on the older system), it throws an exception:
<filename> contained an unexpected objet.

Any ideas? Thoughts?

Is CArchive compatible with older version of CArchive? I'm guessing that's how those files were created in the first place.