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 :

Utilisation du remote object avec la notion d'héritage


Sujet :

Flex

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 23
    Par défaut Utilisation du remote object avec la notion d'héritage
    Bonjour,

    je me prend la tête depuis hier sur un problème de cast paraît-il...

    Je m'explique : j'ai une classe EllipseSymbol qui hérite de Symbol, lorsque je charge, via mon service, un Symbol et que ensuite je veux le "caster" en EllipseSymbol et l'affecter à une variable de ce même type rien ne se fait et je n'ai pas d'erreur... Alors que quand j'affiche une alerte du résultat, j'accède bien aux champs de l'objet.

    Voici le morceau de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    private function onResultEllipseSymbol(event:ResultEvent):void
    {
    	Alert.show(event.result.pattern);
    	tmpEllipseSymbol = event.result as EllipseSymbol;
    }
    J'espère avoir été assez compréhensible

  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
    Bonjour,

    Le "as" ne renvoie pas d'erreur. Soit la variable peut être castée dans le type indiquée et l'instance est renvoyée, soit elle ne peut pas et la valeur nulle est renvoyée.

    Si tu caste un objet Symbol en EllipseSymbol il est normal d'obtenir une valeur nulle car ce n'est pas Symbol qui hérite de EllipseSymbol mais l'inverse.

  3. #3
    Membre Expert

    Profil pro
    Inscrit en
    Mai 2006
    Messages
    895
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 895
    Par défaut
    + 1 avec jylaxx.
    Et puis il faudrait que tu aies la même hiérarchie (EllispeSymbol héritant de Symbol) côté Java et côté Flex.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 23
    Par défaut
    Non le "as" ne renvoie pas d'erreur...

    En faite, je récupère bien un EllipseSymbol, le cast s'effectue juste sur le ResultHandler, autant pour moi.

    De plus, quand je balance la requête qui est loguée en BDD, elle me retourne bien le résultat voulu...

    J'ai pensé à un souci peut-être dans mes Objets mappés avec mes objets java.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    package beans
    {	
    	[Bindable]
        [RemoteClass(alias="com.model.EllipseSymbol")]
    	public class EllipseSymbol extends Symbol
    	{
    		public var pattern:String;
    		public var point:Point;
    	}
    }

  5. #5
    Membre expérimenté Avatar de samy2525
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 259
    Par défaut
    Bonjour, j'ai pas bien saisi le probleme apparement c'est pas un probleme de Cast mais c'est plutot un probleme de serialisation / desirialisation
    assure toi que tes getter et setter coté Java sont bien définit, je vois aussi un objet Complexe (Point) assure toi que de se coté là tout est bien formaté et que les getter / setter sont bien ce que Flex attends de l'autre coté.

    Aussi, est ce que tu as mis en correspondance la class Symbol de Flex avec celle de Java? ça pourrai venir de la le probleme !!

    Bon courage

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 23
    Par défaut
    Bonjour Samy,

    Oui je dis problème de cast car j'arrive à afficher l'event.result.monChamps mais lorsque je le cast, l'objet est vide et je n'ai pas d'erreur.

    J'ai vérifié tous les getters et setters, l'objet Point est également mappé côté as.

    Enfin, la classe Symbol de flex est bien mappée avec celle de Java.

    Merci pour toutes vos réponses...

  7. #7
    Membre expérimenté Avatar de samy2525
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 259
    Par défaut
    je reprends mon poste j'ai pas vu la proprité pattern de la class,

    dsl !!!

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 25/05/2015, 01h11
  2. Réponses: 2
    Dernier message: 12/08/2011, 18h58
  3. [FB4] Problème insert, delete, update avec Remote Object
    Par gui-yem dans le forum Flex
    Réponses: 16
    Dernier message: 11/04/2011, 21h59
  4. [HTML 4.0] Utilisation de la balise "object" avec IE 8
    Par tontonpschitt dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 05/07/2009, 22h05
  5. Réponses: 4
    Dernier message: 20/09/2008, 13h47

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