Serialization

cs_aminotma Messages postés 7 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 15 août 2005 - 9 août 2005 à 14:33
cs_aminotma Messages postés 7 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 15 août 2005 - 10 août 2005 à 10:32
comment ca marche la serialisation d'un menmbre de type classe d'une classe serialisable????

10 réponses

equimose Messages postés 65 Date d'inscription jeudi 4 septembre 2003 Statut Membre Dernière intervention 17 avril 2009
9 août 2005 à 17:52
pour que l'objet membre d'une classe soit serialisable, il faut que la classe hérite de la classe CObject

class CMyLigne :
public
CObject
{
public:
CMyLigne();
CMyLigne(CMyPoint A, CMyPoint B,COLORREF crColor);
///...
CMyPoint m_ptA;
CMyPoint m_ptB;
//
}

Tu dois ensuite redre serialisable ta classe avec les macro
IMPLEMENT_SERIAL(CMyLigne,CObject,1) //avant la definition de ton constructeur MyLigne.cpp
et

DECLARE_SERIAL(CMyLigne) //en protected: a la fin de la declaration de ta class MyLigne.h

ensuite tu fait ta fonction serialize de ta classe CMyLigne


void CMyLigne::Serialize(CArchive& ar)


{


CObject::Serialize( ar );


m_ptA.Serialize( ar );


m_ptB.Serialize( ar );



}
0
cs_aminotma Messages postés 7 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 15 août 2005
9 août 2005 à 17:59
oui c fait merci,
mais est ce que je dois m'assurer que la classe ( CMyPoint ) est serializable aussi car dans le cas contraire la serialization ne passra pas ou non??
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
9 août 2005 à 18:03
Il me semble logique qu'il faut que CMyPoint le soit aussi
0
equimose Messages postés 65 Date d'inscription jeudi 4 septembre 2003 Statut Membre Dernière intervention 17 avril 2009
9 août 2005 à 18:06
ta Classe CMyPoint doit elle aussi hérité de la classe CObject, sinon tu pourra pas sérilisé l'objet MyLigne!

Je pense! j'ai suivi cet exemple sur msdn, et c'est ce qu'il dise je crois :p

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/_core_serialization.3a_.making_a_serializable_class.asp
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_aminotma Messages postés 7 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 15 août 2005
9 août 2005 à 18:09
oui et est ce que on peut repositioner l'emplacement des memebre de classe lors du chargement pour qu'il se passe plus rapidement c-à-d laisser les pointeurs par exemple a la fin du chargement et de du sauvegard aussi?
0
cs_aminotma Messages postés 7 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 15 août 2005
9 août 2005 à 18:12
Ok merci pour votre aide et merci pour les informations
0
equimose Messages postés 65 Date d'inscription jeudi 4 septembre 2003 Statut Membre Dernière intervention 17 avril 2009
9 août 2005 à 18:32
j'ai pas compris ta derniere question ! oui surement :p
0
cs_aminotma Messages postés 7 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 15 août 2005
9 août 2005 à 18:41
la classe sur laquelle je travaill est tres grande c'est une classe qui gere des image DICOM lors du chargement d'une image le temps d'attente et tres grand et je pense aà modifier l'emplacement des membre de ma classe de façon a ce que les pointeur reste les dernier a charger et la position de chaque poinetu=eur sera garder dans un tableau que j'utiliserais apres pour le chargement de mon image, j'espere que j'ete claire si non merci pour ton aide
0
equimose Messages postés 65 Date d'inscription jeudi 4 septembre 2003 Statut Membre Dernière intervention 17 avril 2009
9 août 2005 à 18:56
je pense que tu a était clair mais :
Tu parle de changer l'ordre des déclarations de tes membres ?
Ca change quelque chose a ton objet ca ?
qu'es ce qu'une image DICOM ?
0
cs_aminotma Messages postés 7 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 15 août 2005
10 août 2005 à 10:32
oui ca change , ca reduira le temps d'attente du chargement des image
une image DICOM regarde ce site http://dicom.online.fr/fr/dicomwhatfr.htm
0
Rejoignez-nous