La sérialisation d'un objet d'une classe appartient à une DLL

belallioui Messages postés 4 Date d'inscription vendredi 3 janvier 2003 Statut Membre Dernière intervention 12 décembre 2006 - 26 oct. 2006 à 11:06
Arnaud1602 Messages postés 3 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 13 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.... 

Cordialement.
Brahim

3 réponses

Arnaud16022 Messages postés 1329 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 16 juin 2010 2
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 ....

_______________________

Omnia vincit labor improbus
0
belallioui Messages postés 4 Date d'inscription vendredi 3 janvier 2003 Statut Membre Dernière intervention 12 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...

                           Brahim
0
Arnaud1602 Messages postés 3 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 13 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
0
Rejoignez-nous