IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++/CLI Discussion :

Sérialisation Natif Managé


Sujet :

C++/CLI

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 24
    Points : 15
    Points
    15
    Par défaut Sérialisation Natif Managé
    Bonjour,

    je dois sérialiser une classe C++ CLI qui contient en plus des attributs managés un pointeur vers une classe native, cette dernière est une arborescence dynamique (structure conçue avec des CObList des MFC qui contiennent des objet natif héritant de CObject).
    De base le framework .NET ne sait pas sérialisez les classes natives comme il le fait avec les classes managées. En implémentant l'interface ISerializable je dois donc spécifier finement la sérialisation, voila mes questions:
    - Puis utiliser les fonctions Serialize qui se trouve dans mes classes natives ?
    - Ou sinon suis-je obligé d'explorer l'arborescence en entier jusqu'à arriver à des types de base puis les ajouter dans SerializationInfo en mettant leur position dans leur nom , style "noeud1noeud5noeud3feuille8" ?
    - Ou suis-je aveugle et dans ce cas il existe une solution plus simple ou plus rapide ?


    Merci.

  2. #2
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 24
    Points : 15
    Points
    15
    Par défaut
    Merci pour le lien, j'avais dèja lu cet article mais ce n'est pas très adapté à ma structure sauf peut être comme je le disais en explorant
    l'arborescence en entier jusqu'à arriver à des types de base puis les ajouter dans SerializationInfo en mettant leur position dans leur nom , style "noeud1noeud5noeud3feuille8"
    Personne ne voit comment réutiliser la fonction serialize() issu de la bibliothèque MFC qui est implémentée dans toutes mes classes natives ?

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 24
    Points : 15
    Points
    15
    Par défaut
    Bon finalement après pas mal de recherche et de réflexion je n'ai trouver qu'un seul moyen de réutiliser la méthode void Serialize( CArchive& archive ) des MFC dans le monde .NET et je voulais juste vous en parlais en cas que ça puisse servir à quelqu'un un jour. Alors voila comment je procède:
    - Je sérialise mes classes natives avec les fonctions issu de MFC et je les met dans un fichier.
    - J'ouvre ce fichier en mode binaire, je le lit et je met les valeur dans un tableau d'octet (tableau .NET bien sur pour qu'il puisse être sérialisé) qui est un attribut de ma classe .NET que je dois sérialiser.
    - Maintenant je peux sérialiser ma classe .NET
    - J'envoie sur le réseaux ou je stocke ma classe .NET sérialisée.
    - Et maintenant je refais l'inverse pour récupérer mon pointeur sur ma classe native.
    - Je crée un fichier dans lequel je copie les valeurs de mon tableau d'octets.
    - J'ouvre ce fichier que je peux désérialiser avec les fonctions des MFC.

    Et voila HTH

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Performances: Code Natif / Managé
    Par TotorLeCastor dans le forum C++/CLI
    Réponses: 4
    Dernier message: 21/02/2008, 16h53
  2. mode de compilation pour du Natif utilisant du Managed
    Par breezer911 dans le forum C++/CLI
    Réponses: 1
    Dernier message: 17/04/2007, 07h14
  3. Quand utiliser du Natif, et quand utiliser du Managé
    Par Nico_stras dans le forum C++/CLI
    Réponses: 7
    Dernier message: 11/01/2007, 14h26
  4. [C#] Comment integrer dll C++ mixte managé/natif ?
    Par groskek dans le forum C++/CLI
    Réponses: 5
    Dernier message: 25/01/2006, 21h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo