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 :

contourner l'erreur 1123 ? pourquoi elle ce déclenche ?


Sujet :

ActionScript 3

  1. #1
    Membre expérimenté Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Points : 1 537
    Points
    1 537
    Par défaut contourner l'erreur 1123 ? pourquoi elle ce déclenche ?
    salut a tous,

    je vais avoir besoin de vos lumieres car je bloque en beauté sur une erreur que je ne suis pas capable de comprendre


    voici l'erreur :
    TypeError: Error #1123: L'opérateur Filter n'est pas pris en charge sur le type swfCible_fla.MainTimeline.
    at testClasseTrigo2_fla::MainTimeline/evBtTraceMouseDown()

    et tout le code qui la déclenche aprés épuration :
    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
    var obLoad:Loader = new Loader();
    var request:URLRequest = new URLRequest("c:/Program Files/_travail/apache/_htdocs/_progFlash/v.9/test package Math/swfCible.swf");
    obLoad.name = "charge";
    obLoad.contentLoaderInfo.addEventListener(Event.COMPLETE, evLoadComplete);
    function evLoadComplete(ev:Event){
    	this.addChild(obLoad.contentLoaderInfo.content);
    }
    obLoad.load(request);
     
     
    btTrace.addEventListener(MouseEvent.MOUSE_DOWN, evBtTraceMouseDown);
    function evBtTraceMouseDown(ev:MouseEvent){
    	// faire un trace
    	Div.varDump(obLoad.contentLoaderInfo.content);
    	// faire un autre trace (celui ci plante avec l'erreur 1123)
    	Div.varDump((obLoad.contentLoaderInfo.content as DisplayObjectContainer).(getChildByName("mcCibleConteneur") as DisplayObjectContainer));
    }
    la méthode statique Div.varDump remplace juste la fonction trace en une version plus évolué, donc l'erreur ne vient pas d'elle.

    et le résultat du trace déclenché quand je clique sur un bouton :
    (swfCible_fla::MainTimeline)[object MainTimeline]

    TypeError: Error #1123: L'opérateur Filter n'est pas pris en charge sur le type swfCible_fla.MainTimeline.
    at testClasseTrigo2_fla::MainTimeline/evBtTraceMouseDown()

    ce que je veux faire :
    -dans mon FLA (SWF) principal (testClasseTrigo2_fla)
    -je charge un SWF (swfCible.swf)
    -j'aimerais accéder a un clip posé sur la scene du SWF chargé, hors dés que j'utilise ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Div.varDump((load.contentLoaderInfo.content as DisplayObjectContainer).(getChildByName("mcCibleConteneur") as DisplayObjectContainer));
    j'ai l'erreur 1123 que je ne comprends pas

    -j'ai viré tout le code du "swfCible.swf" et pareil avec tout le code inutile du
    FLA principale ... sauf que l'erreur continue
    -je précise qu'a AUCUN moment je n'utilise l'attribut filter !
    -le SWF est bien chargé .... etc

    des idées ?
    merci !
    Le plus grand arbre est né d'une graine menue, une tour de neuf étages est partie d'une poignée de terre.
    Mon blog : http://web.codeur.free.fr

  2. #2
    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
    Salut,

    vu que l'erreur semble venir de nulle part je serai tenté de parier sur les parenthèses :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Div.varDump((load.contentLoaderInfo.content as DisplayObjectContainer).(getChildByName("mcCibleConteneur") as DisplayObjectContainer));

  3. #3
    Membre confirmé Avatar de IP-Fix
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    421
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 421
    Points : 494
    Points
    494
    Par défaut
    tente :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (DisplayObjectContainer)((DisplayObjectContainer)load.contentLoaderInfo.content).getChildByName("mcCibleConteneur"))
    L'objet filter=null est probablement appliqué dès la tentative d'acces à ta MainTimeLine du swf chargé.

    Sinon t'a tenté de casté dans un type non abstrait ( bon ça c'est la solution un peu nunuche je l'avoue mais l'as3 nous réserve toujours des surprises xD) ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (Sprite)((MovieClip)load.contentLoaderInfo.content).getChildByName("mcCibleConteneur"))

  4. #4
    Membre expérimenté Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Points : 1 537
    Points
    1 537
    Par défaut
    beekeep : j'ai fait un paquet de tentatives avec des (y as X) ou des X(y) et tous renvoient la meme erreur 1123


    IP-Fix : gagné
    ceci fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Div.varDump((MovieClip)(obLoad.contentLoaderInfo.content).getChildByName("mcCibleConteneur").getChildByName("mcDansCible"));
    par contre je ne comprends pas pourquoi



    merci a vous
    Le plus grand arbre est né d'une graine menue, une tour de neuf étages est partie d'une poignée de terre.
    Mon blog : http://web.codeur.free.fr

  5. #5
    Membre confirmé Avatar de IP-Fix
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    421
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 421
    Points : 494
    Points
    494
    Par défaut
    Yeah !

    Sinon mon analyse du probleme ( et pourquoi j'ai proposé cette solution un peu au hasard mais quand meme .. ^^ ) c'est que ton code plantais quand c'est abstrait donc probablement un un apelle a une fonction déclaré mais non défini dans la class abstraite DisplayObjectContainer qui est défini dans MovieClip ou un autre héritier "concret" de DisplayObjectContainer

    J'espere que mon analyse t'eclaire un peu !

    Ciao !

  6. #6
    Membre expérimenté Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Points : 1 537
    Points
    1 537
    Par défaut
    ok, mais la méthode getChildByName() fait bien partie de DisplayObjectContainer .. ce qui rend le bug encore plus bizarre. (ma ref c'est la DOC, mais j'ai déja remarqué pas mal d'erreurs dedans ....)
    je vais essayer de chopper un gars de Adobe et lui envoyer le FLA


    voila ce que je voulais faire avant le bug lors du test, 2 petites méthodes bien utile
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    /**
    * Renvoyer Le chemin menant vers une occurence en partant de l'objet stage
    *
    * @param cible Le DisplayObject
    *
    * @return Un tableau contenant la liste des conteneurs en partant de stage
    */
    public static function cheminCible(cible:DisplayObject):Array {
    	var tbChemin:Array = new Array();
    	tbChemin.push(cible);
    	while(true){
    		try{
    			tbChemin.push(tbChemin[(tbChemin.length-1)].parent);
    		}catch(er:Error){
    			tbChemin.pop();
    			break;
    		}
    	}
    	return tbChemin.reverse();
    }
     
     
    /**
    * Renvoyer Les chemins commun a 2 occurences en partant du conteneur commun le plus haut dans la liste d'affichage
    *
    * @param cible1 Le DisplayObject
    * @param cible2 Le DisplayObject
    *
    * @return Un tableau contenant 2 tableaux
    */
    public static function difference(cible1:DisplayObject, cible2:DisplayObject):Array {
    	var tbChemin1:Array = Trigo.cheminCible(cible1);
    	var tbChemin2:Array = Trigo.cheminCible(cible2);
    	//Div.varDump(tbChemin1);
    	//Div.varDump(tbChemin2);
    	for(var id:uint = 0; id < tbChemin1.length; id++){
    		if( tbChemin1[id] === tbChemin2[id] ){
    			tbChemin1.shift();
    			tbChemin2.shift();
    		}
    	}
    	return new Array(tbChemin1, tbChemin2);
    }


    ----------------
    j'ai fais un rapport de bug, on verra bien ce que ca donne, mais je pense pas que ce soit une fonctionnnalité
    Le plus grand arbre est né d'une graine menue, une tour de neuf étages est partie d'une poignée de terre.
    Mon blog : http://web.codeur.free.fr

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

Discussions similaires

  1. Objet requis: 'expXpath', contourner l'erreur
    Par totoche dans le forum ASP
    Réponses: 3
    Dernier message: 09/11/2006, 14h35
  2. erreur, mais pourquoi ?
    Par GrosB dans le forum Langage
    Réponses: 5
    Dernier message: 01/08/2006, 19h25
  3. probleme c (des erreurs ?? oû ?? pourquoi? )
    Par as-de-trefle dans le forum C
    Réponses: 48
    Dernier message: 23/07/2006, 10h03
  4. erreur abondon qu'elle est sa signification
    Par jacot2 dans le forum C++
    Réponses: 7
    Dernier message: 21/09/2005, 23h26
  5. Comment contourner l'erreur ?
    Par Le Pharaon dans le forum Langage SQL
    Réponses: 2
    Dernier message: 24/07/2005, 10h21

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