La sérialisation d'un objet d'une classe appartient à une DLL
belallioui
Messages postés4Date d'inscriptionvendredi 3 janvier 2003StatutMembreDernière intervention12 décembre 2006
-
26 oct. 2006 à 11:06
Arnaud1602
Messages postés3Date d'inscriptionmercredi 20 août 2003StatutMembreDernière intervention13 juin 2010
-
13 déc. 2006 à 18:27
Bonjour,
Je veux sérialiser un objet qui n'est pas serialisable (ne possede pas la fonction Serialise() ) dont sa classe mere et inconue, c a d, je connais pas tous les atribue de sa classe (un objet d'une dll par exemple).
Merci de m'aider pour résoudre se probléme....
Arnaud16022
Messages postés1329Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention16 juin 20102 29 oct. 2006 à 22:52
réponse simple : pas possible
Sauf si tu n'as pas besoin des membres privés mais dans ce cas quel intérêt de dériver ?
sinon bah bof tente toujours l'approche bourrine, un memcpy de la taille de ta fonction mère, mais pas portable ça ....
belallioui
Messages postés4Date d'inscriptionvendredi 3 janvier 2003StatutMembreDernière intervention12 décembre 2006 12 déc. 2006 à 01:45
je veux restaurer un objet de la RAM vers un fichier (binaire par exemple) puis faire le chemin inverse, charger l'objet à partir du fichier.
c'est ca l'idée...
Arnaud1602
Messages postés3Date d'inscriptionmercredi 20 août 2003StatutMembreDernière intervention13 juin 2010 13 déc. 2006 à 18:27
à priori, la seule solution qui me vient à l'esprit est assez bourrine :
tu malloc ( sisi ) un grande zone de mémoire, tu crées un objet dedans
en plein milieu avec un placement new, tu dump la mémoire et tu
regardes la place que ça prend. Pour serialiser tu fais un memcpy.
Problèmes: La sérialisation ne sera pas correcte ssi ton objet alloue
de la mémoire. Bon ya toujours moyen en faisant plein de tests pour
savoir "tiens j'ai créé 2 fois le même objet mais ces 2 zones mémoire
sont différentes ça doit être un pointeur", du coup faudait appliquer
la même technique ... fin bref c'est le bordel, et prie pour qu'il n'y
ait pas de mfp ( membre function pointeur), là c'est carrément
ingérable.
++
ad
PS : si tu peux faire autrement ( je veux dire : n'importe quelel autre méthode =) FAIS LE : p