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

Flex Discussion :

[FB3] Shared Objects et classe perso


Sujet :

Flex

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 43
    Par défaut [FB3] Shared Objects et classe perso
    Bonjour,

    Je suis en train de développer un site en flex et j'ai un soucis concernant les sessions et les Shared Objects pour sauvegarder l'utilisateur courant.

    J'essaie de sauvegarder un objet perso en utilisant les Shared Objects.
    Cet objet est du type User :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    [RemoteClass]	
    public class User 
    {
    	private var login:String;
            //... + d'autres variables
    }
    Lors de la sauvegarde de la session, le code est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var value:SharedObject = SharedObject.getLocal("mydata");
    value.data.user = loadedUser;//du type User, précédemment chargé dans le code
    value.flush();
    C'est sensé écrire l'objet dans le fichier sol. Lorsque j'ouvre ce fichier, je retrouve bien une référence à l'objet User.

    Pour le chargement des données, je récupère le fichier et le charge de cette façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var value:SharedObject= SharedObject.getLocal("mydata");
    loadedUser= User(mySO.data.user);
    Alert.show(loadedUser.toString());
    Le message d'erreur suivant apparaît au moment du Alert :
    Il est impossible d'accéder à la propriété ou à la méthode d'une référence d'objet nul.

    Une piste ? A votre avis, cela vient de la lecture ou de l'écriture du fichier sol.

    PS, Je me suis basé sur cet article pour :
    http://www.flex-tutorial.fr/2009/03/...g-remoteclass/

    Bonne soirée.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    793
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2009
    Messages : 793
    Par défaut
    Ce serait pas plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var value:SharedObject= SharedObject.getLocal("mydata");
    loadedUser= User(value.data.user);

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 43
    Par défaut
    Oui, erreur de frappe...
    Mais c'est pas lié à ça

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    793
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2009
    Messages : 793
    Par défaut
    Est-ce que tu a enregistré ta classe avec flash.net.registerClassAlias() ?

    Il semble que ce soit nécessaire pour enregistrer le type de l'objet.
    Sinon l'objet est enregistré comme un objet anonyme et donc quand tu fais ton cast en User, Flex te renvoie null !

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 43
    Par défaut
    Non, je n'ai pas enregistré ma classe...

    Je tente ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var value:SharedObject = SharedObject.getLocal("mydata");
    value.data.user = loadedUser;//du type User, précédemment chargé dans le code
    registerClassAlias("User",User);
    value.flush();

Discussions similaires

  1. [MFC][Debutant] Une classe perso de CEdit
    Par kiroukou dans le forum MFC
    Réponses: 6
    Dernier message: 21/06/2005, 15h07
  2. Afficher les shared objects utilisés
    Par Onarap dans le forum Linux
    Réponses: 5
    Dernier message: 20/05/2005, 15h31
  3. Utilisation iterator avec une classe perso
    Par SteelBox dans le forum C++
    Réponses: 19
    Dernier message: 07/03/2005, 11h30
  4. [VB.NET] Instanciation objet (sur class perso.)
    Par DaxTaz dans le forum ASP.NET
    Réponses: 4
    Dernier message: 03/05/2004, 11h07
  5. [ JSP ] [ Tomcat ] importer une classe perso
    Par captainpouet dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 11/03/2004, 11h30

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