Click here to Skip to main content
15,922,015 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
AnswerRe: how does one prevent resizing columns in CListCtrl Pin
Sheng Jiang 蒋晟31-Dec-05 6:13
Sheng Jiang 蒋晟31-Dec-05 6:13 
NewsAt Last! My DCOM Tutorial for VS.NET is Here! Pin
Brian C Hart30-Dec-05 22:29
professionalBrian C Hart30-Dec-05 22:29 
QuestionI donn't find the mistakes! Pin
greenapplezlp30-Dec-05 20:15
greenapplezlp30-Dec-05 20:15 
AnswerRe: I donn't find the mistakes! Pin
QuickDeveloper30-Dec-05 21:43
QuickDeveloper30-Dec-05 21:43 
Generalthank you for your enthusiastic help! Pin
greenapplezlp1-Jan-06 20:03
greenapplezlp1-Jan-06 20:03 
AnswerRe: I donn't find the mistakes! Pin
Polymorpher30-Dec-05 22:13
Polymorpher30-Dec-05 22:13 
GeneralRe: I donn't find the mistakes! Pin
greenapplezlp1-Jan-06 20:03
greenapplezlp1-Jan-06 20:03 
QuestionProblem regarding DirectShow Pin
StarMeteor30-Dec-05 16:46
StarMeteor30-Dec-05 16:46 
QuestionHow to write data to a file when it is in a vector Pin
Larry Mills Sr30-Dec-05 14:12
Larry Mills Sr30-Dec-05 14:12 
AnswerRe: How to write data to a file when it is in a vector Pin
Garth J Lancaster30-Dec-05 15:34
professionalGarth J Lancaster30-Dec-05 15:34 
GeneralRe: How to write data to a file when it is in a vector Pin
Larry Mills Sr1-Jan-06 16:45
Larry Mills Sr1-Jan-06 16:45 
GeneralRe: How to write data to a file when it is in a vector Pin
Garth J Lancaster1-Jan-06 19:34
professionalGarth J Lancaster1-Jan-06 19:34 
QuestionNeed Help with ShellExecute Pin
Klerik8230-Dec-05 10:53
Klerik8230-Dec-05 10:53 
AnswerRe: Need Help with ShellExecute Pin
Prakash Nadar30-Dec-05 18:14
Prakash Nadar30-Dec-05 18:14 
AnswerRe: Need Help with ShellExecute Pin
Michael Dunn31-Dec-05 10:50
sitebuilderMichael Dunn31-Dec-05 10:50 
AnswerRe: Need Help with ShellExecute Pin
Klerik822-Jan-06 13:03
Klerik822-Jan-06 13:03 
QuestionMFC Serialization Questions.. Pin
montiee30-Dec-05 6:09
montiee30-Dec-05 6:09 
AnswerRe: MFC Serialization Questions.. Pin
Ravi Bhavnani30-Dec-05 6:59
professionalRavi Bhavnani30-Dec-05 6:59 
GeneralRe: MFC Serialization Questions.. Pin
Garth J Lancaster30-Dec-05 15:35
professionalGarth J Lancaster30-Dec-05 15:35 
GeneralRe: MFC Serialization Questions.. Pin
montiee30-Dec-05 16:54
montiee30-Dec-05 16:54 
GeneralRe: MFC Serialization Questions.. Pin
Ravi Bhavnani31-Dec-05 5:14
professionalRavi Bhavnani31-Dec-05 5:14 
AnswerRe: MFC Serialization Questions.. Pin
ToxickZero30-Dec-05 9:34
ToxickZero30-Dec-05 9:34 
GeneralRe: MFC Serialization Questions.. Pin
montiee30-Dec-05 17:04
montiee30-Dec-05 17:04 
AnswerRe: MFC Serialization Questions.. Pin
Cliff Hatch1-Jan-06 0:53
Cliff Hatch1-Jan-06 0:53 
Hi jbem

I'm not sure that your conclusion that you have to keep track of the number of items in the list is correct.

The list classes contain Serialize functions, and if you use these they keep track for you.

A while back I was builiding a simulator that contained a recursive structure of models and submodels, similar to your Cemu class. My class was CModel, of type CModelObject. It contained a list, m_ModelList, pointing to the submodels (also of type CModel).

m_ModelList was of type CModelList, declared as follows:
typedef CTypedPtrList<CObList, CModelObject*> CModelList;

And the CModel Serialize function was:
void CModel::Serialize(CArchive & ar)<br />
{<br />
	CModelObject::Serialize(ar);<br />
<br />
	//Serialize/de-serialize the submodels<br />
	m_ModelList.Serialize(ar);<br />
<br />
	if (ar.IsStoring())<br />
	{<br />
		ar << m_Name<br />
			<< m_Notes<br />
			<< m_AtomOrMacroNotes;<br />
	}<br />
	else<br />
	{<br />
		ar >> m_Name<br />
			>> m_Notes<br />
			>> m_AtomOrMacroNotes;<br />
	}<br />
}


The function saves the properties of the particular CModel object, m_Name, m_Notes, etc., and those defined in the base clase, CModelObject - and it saves the submodels by calling m_ModelList.Serialise(ar). When de-serializing, this call reinstates the list and all its associated objects.

I've stripped a lot of detail out of the example, but amongst the model properties there were also pointers to other models - so there were very many mutually recursive references, and I remember being concerned about how to tie all this back together on de-serialization. I was pleasantly suprised to find that the serialization mechanism looked after all of this for me automatically. I think it is an elegant system and a credit to its designers. It seems that all the user has to do is make sure that things are serialized and de-serialized in the same order.

Best Regards

Cliff

-- modified at 6:58 Sunday 1st January, 2006
GeneralRe: MFC Serialization Questions.. Pin
Cliff Hatch2-Jan-06 0:54
Cliff Hatch2-Jan-06 0:54 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.