Ich versuche, eine Datei zu lesen/öffnen, die mit einem VC++6-Build in einem in Visual Studio 2013 erstellten C++-Programm serialisiert wurde, einige Attribute/Werte werden nicht gelesen oder sind auf irgendeine Weise verloren gegangen.
Bitte helfen Sie mir zu verstehen, was in den beiden Versionen anders ist und wie ich es möglicherweise lösen könnte.
Es wurde mit CArchive folgendermaßen gespeichert:
void CCubeShelf::Serialize(CArchive &ar,BOOL bChildren, int iVersion)
{
if(ar.IsStoring())
{
m_dwProperties |= CSHELF_MERCH | CSHELF_MERCH_DEPTH;
ar << m_dwProperties;
ar << m_iShelfNum;
ar << m_fDividerWidth;
ar << m_fDividerSpacing;
ar << m_fGrillHeight;
ar << m_crGrillColor;
ar << m_fMercHeight;
ar << m_fMerchDepth;
ar << m_csFrontPath;
ar << m_csLeftPath;
ar << m_csTopPath;
}
else
{
ar >> m_dwProperties;
ar >> m_iShelfNum;
ar >> m_fDividerWidth;
ar >> m_fDividerSpacing;
ar >> m_fGrillHeight;
ar >> m_crGrillColor;
if( m_dwProperties & CSHELF_MERCH ) ar >> m_fMercHeight;
if( m_dwProperties & CSHELF_MERCH_DEPTH )
{
ar >> m_fMerchDepth;
ar >> m_csFrontPath;
ar >> m_csLeftPath;
ar >> m_csTopPath;
}
}
CCube::Serialize(ar,bChildren,iVersion);
}