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

ActionScript 3 Discussion :

Classe personnalisée pour JSON


Sujet :

ActionScript 3

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 99
    Points : 62
    Points
    62
    Par défaut Classe personnalisée pour JSON
    Bonjour à tous,

    dans mon code AS, je fais beaucoup d'aller-retour avec mon serveur PHP pour récupérer les informations nécessaires. Je souhaite donc créer une classe personnalisée pour généraliser mes appels.

    J'ai donc créé une classe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    package ... {
    import ...
     
    public class JsonAsk extends Object {
     
    	protected var urlRequest:String;
    	protected var url:URLRequest;
    	protected var loader:URLLoader = new URLLoader;
    	protected var datas:Object;
     
    	public function JsonAsk(urlRequest:String) {
    		super();
    		this._onInitialize(urlRequest);
    	}
     
    	protected function _onInitialize(urlRequest:String):void {
    		url = new URLRequest(urlRequest);
            loader.addEventListener(Event.COMPLETE,onComplete);
            loader.load(url);
    	}
     
    	private function onComplete(e:Event):void {
            loader = e.target as URLLoader;
            datas = JSON.decode(loader.data);
            Application.application.dispatchEvent (
    			new ServerEvent (ServerEvent.ALL_DATA_SERVER_SEND, datas)
    		);
        }
    }
    }
    J'ai bien sur créer un événement personnalisé "ServerEvent.ALL_DATA_SERVER_SEND".

    Dans ma classe centrale j'ai ceci au début:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    private function onInit():void {
                var essai:JsonAsk = new JsonAsk("/catalog/get-all/");
           Application.application.addEventListener(ServerEvent.ALL_DATA_SERVER_SEND,onEssai);
            }
     
            private function onEssai(e:ServerEvent):void {
                Alert.show(String(e.receiveObject.catalogs));
            }
    Mon code marche mais le problème est que je ne peux faire qu'une seule requête à la fois puisque mon appel se fait via un événement unique (désolé si je ne suis pas clair).

    Je souhaitais faire qqchose comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    essai.onComplete(....)
    mais sous Eclipse j'ai le message "Tentative d'accès à la propriété inaccessible onComplete, via la référence de type static ...:JsonAsk." mais je ne comprend pas où j'ai un objet static dans mon objet personnalisé.

    Est ce qq'un pourrait m'aider ou m'indiquer un tuto là-dessus ?

    Merci d'avance,

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 99
    Points : 62
    Points
    62
    Par défaut
    Je simplifie ma demande puisqu'il semble que personne n'a compris ma question

    Je créé une classe qui étend "Object". Est-il possible d'y ajouter un dispatchEvent du type "OnComplete" par exemple ???

  3. #3
    Rédacteur/Modérateur
    Avatar de beekeep
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 2 005
    Points : 3 325
    Points
    3 325
    Par défaut
    Bonjour,

    il faut que la classe hérite de EventDispatcher pour pouvoir utiliser la méthode dispatchEvent.

    http://flash.developpez.com/cours/as...nscript-3/#L10

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 99
    Points : 62
    Points
    62
    Par défaut
    Merci pour ta réponse mais si je veux faire un objet qui hérite de Object, je ne peux donc pas ?

  5. #5
    Rédacteur/Modérateur
    Avatar de beekeep
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 2 005
    Points : 3 325
    Points
    3 325
    Par défaut
    La classe EventDispatcher hérite de Object donc ta classe aussi.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 99
    Points : 62
    Points
    62
    Par défaut
    Merci, ca marche, je n'avais pas osé faire que mon objet soit une extension de EventDispatcher, ca ma paraissait abhérent....

    MERCI !!!

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

Discussions similaires

  1. Réponses: 21
    Dernier message: 01/03/2006, 16h51
  2. [débutante]utiliser les classes css pour surligner des liens
    Par Mitaka dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 06/01/2006, 09h37
  3. Comment utiliser une icône personnalisée pour un composant ?
    Par Bruno75 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 22/09/2005, 17h24
  4. recherche une classe KZtransImg pour delphi 7
    Par plante20100 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 21/07/2005, 13h56

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