Hello :)

Tu crées ton composant dans Flash CS3, Flash CS4 ? :)

Tu utilises quoi exactement comme paramètre dans les paramètres de liaison
du symbole ? Tu utilises un symbole ?

Tu utilises ton code dans quel context dans ton application ? Tu peux nous
montrer un bout de code ou un FLA (tu peux envoyer un zip contenant un test,
lis le premier post du Google Groups, tout est expliqué)

PS : la prochaine fois isole ton problème dans une classe avec moins de code
;) c'est plus simple pour nous de voir ce qui va pas sur un petit code sans
tout ce qui va autour :)

PS : Note perso.. pour moi la méthode initComponent sert à rien à moins
d'avoir un gros soucis au niveau héritage... initComponent qui pointe
ensuite vers setListener.. pourquoi tu mets pas ce code directement dans le
constructeur de la classe ? A la base la fonction constructeur sert à cela
:) (sauf si il y a une nécessité extrême d'initialiser l'objet dans une
méthode de la classe.. mais en principe pas besoin de se prendre la tête
avec autant de dépendance dans le constructeur)

EKA+ :)

Le 3 février 2009 12:19, Cedric Muller <[email protected]> a écrit :

>
> Hello,
>
> Mon hypothèse:
> C'est un problème de nom de classe, non ? (deux classes disposent du
> même nom). Dans le contexte, la conversion ne peut pas fonctionner,
> car le compileur fait une mauvaise interprétation de la classe à
> utiliser .. n'est-il pas ?
>
> la classe DynamicField est dans le package 'custom.component.'
> et l'erreur pointe sur la classe DynamicField du package
> 'energitim.component.'
>
> Question: Existe-il deux classes avec le même nom ?
>
> Cedric
>
> >
> > Bonjour,
> >
> > J'ai un soucis avec un composant custom (non v3) que je souhaite
> > mettre en place dans le cadre d'un projet.
> > J'ai un problème de typage que je n'explique pas, à chaque fois que je
> > publie une animation contenant ce composant dont je modifie au moins 1
> > paramétre (si aucun paramètre n'est modifié, il n'y a pas d'erreurs) :
> >
> > TypeError: Error #1034: Echec de la contrainte de type : conversion de
> > energitim.component::dynamicfi...@26dbc031 en
> > energitim.component.DynamicField impossible.
> >
> > Avec le code suivant :
> >
> > package custom.component
> > {
> >       //import custom.text.TextDisplayer;
> >
> >       import flash.display.DisplayObjectContainer;
> >       import flash.display.MovieClip;
> >       import flash.events.Event;
> >       import flash.events.MouseEvent;
> >       import flash.text.Font;
> >       import flash.text.TextField;
> >       import flash.text.TextFieldAutoSize;
> >       import flash.text.TextFormat;
> >       import flash.text.TextFormatAlign;
> >
> >       public class DynamicField extends MovieClip
> >       {
> >               public  var tText        :TextField;
> >               public  var tFormat      :TextFormat;
> >               public  var iCustomWidth :Number;
> >               public  var iCustomHeight:Number;
> >               private var arrFont      :Array = new Array();
> >               private var bReady:Boolean = false;
> >
> >
> >               public function DynamicField()
> >               {
> >                       super();
> >                       initComponent();
> >                       bReady = true;
> >               }
> >
> >               protected function initComponent():void
> >               {
> >                       trace("init");
> >                       setListener();
> >               }
> >
> >               protected function getDefaultFont():void
> >               {
> >                       var arrFont:Array=Font.enumerateFonts();
> >                       arrFont.sortOn("fontName", Array.CASEINSENSITIVE);
> >               }
> >
> >               protected function setDefaultProperties():void
> >               {
> >                       tText.width = this.width;
> >                       scaleX=scaleY=1;
> >                       tText.htmlText="placez votre texte ici";
> >                       tText.autoSize = TextFieldAutoSize.LEFT
> >                       tText.wordWrap=false;
> >               }
> >
> >               protected function createDefaultTextFormat():void
> >               {
> >                       tFormat = new TextFormat();
> >                       tFormat.color=0x000000;
> >               }
> >
> >               protected function setListener():void
> >               {
> >
> this.addEventListener(Event.ADDED_TO_STAGE,handleOnStage);
> >
> this.addEventListener(MouseEvent.CLICK,handleOnSelect);
> >               }
> >
> >               protected function removeListener():void
> >               {
> >
> this.removeEventListener(Event.ADDED_TO_STAGE,handleOnStage);
> >
> this.removeEventListener(MouseEvent.CLICK,handleOnSelect);
> >               }
> >
> >
> >               protected function refreshField():void
> >               {
> >                       refreshSize();
> >                       refreshFormat();
> >               }
> >
> >               protected function refreshSize():void
> >               {
> >                       if(iCustomWidth != 0 && iCustomHeight != 0)
> >                       {
> >                               tText.width  = iCustomWidth;
> >                               tText.height = iCustomHeight;
> >                       }
> >               }
> >
> >               protected function refreshFormat():void
> >               {
> >                       tText.setTextFormat(tFormat);
> >               }
> >
> >               public function setSize(w:Number,h:Number):void
> >               {
> >                       iCustomHeight = h;
> >                       iCustomWidth  = w;
> >                       refreshSize();
> >               }
> >               /*
> >               protected function getText():void
> >               {
> >                       var oText:* = findTextDisplayer(this.parent);
> >                       if(oText)
> >                       {
> >
> tText.htmlText=TextDisplayer(oText).getContent(this.name);
> >                               refreshFormat();
> >                       }
> >                       else
> >                       {
> >                               trace("[Warning] No TextDisplayer found,
> the content wont be
> > displayed.");
> >                       }
> >
> >               }
> >
> >               protected function findTextDisplayer(obj:Object):*
> >               {
> >                       if(obj is TextDisplayer)
> >                               return obj;
> >                       else if(obj is DisplayObjectContainer)
> >                       {
> >
> if(DisplayObjectContainer(obj).parent!=null)
> >                                       return
> findTextDisplayer(DisplayObjectContainer(obj).parent)
> >                               else
> >                                       return false;
> >                       }
> >               }
> >
> >               */
> >               protected function handleOnStage(e:Event):void
> >               {
> >                       setDefaultProperties();
> >                       createDefaultTextFormat();
> >                       tText.defaultTextFormat=tFormat;
> >                       getDefaultFont();
> >                       //getText();
> >               }
> >
> >               protected function handleOnSelect(e:MouseEvent):void
> >               {
> >                       trace("texte selectionné");
> >               }
> >
> >
> >               [Inspectable(name="1 - Text", defaultValue="placez votre
> texte ici",
> > type="String")]
> >               public function set htmlText(value:String)
> >               {
> >                       if(bReady)
> >                       {
> >                               tText.htmlText=value;
> >                               refreshFormat();
> >                       }
> >               }
> >
> >               [Inspectable(name="2 - Size", defaultValue="10",
> type="Number",
> > format="Number")]
> >               public function set size(value:Number)
> >               {
> >                       if(bReady)
> >                       {
> >                               tFormat.size=value;
> >                               refreshFormat();
> >                       }
> >               }
> >
> >               [Inspectable(name="3 - Color", defaultValue="0x000000",
> > type="Color", format="Color")]
> >               public function set color(value:Number)
> >               {
> >                       if(bReady)
> >                       {
> >                               tFormat.color=value;
> >                               refreshFormat();
> >                       }
> >               }
> >
> >               [Inspectable(name="6 - BackGround", defaultValue="false",
> > type="Boolean")]
> >               public function set background(value:Boolean)
> >               {
> >                       if(bReady)
> >                               tText.background=value;
> >               }
> >
> >               [Inspectable(name="7 - BackGroundColor",
> defaultValue="0xFFFFFF",
> > type="Color", format="Color")]
> >               public function set backgroundColor(value:Number)
> >               {
> >                       if(bReady)
> >                               tText.backgroundColor=value;
> >               }
> >
> >               [Inspectable(name="8 - Border", defaultValue="false",
> > type="Boolean")]
> >               public function set border(value:Boolean)
> >               {
> >                       if(bReady)
> >                               tText.border=value;
> >               }
> >
> >               [Inspectable(name="9 - BorderColor",
> defaultValue="0xFFFFFF",
> > type="Color", format="Color")]
> >               public function set borderColor(value:Number)
> >               {
> >                       if(bReady)
> >                               tText.borderColor=value;
> >               }
> >
> >               [Inspectable(name="10 - Largeur fixe",
> defaultValue="false",
> > type="Boolean")]
> >               public function set wordwrap(value:Boolean)
> >               {
> >                       if(bReady)
> >                               tText.wordWrap=value;
> >               }
> >
> >               [Inspectable(name="5 - Font", defaultValue="Arial",
> type="Font
> > Name")]
> >               public function set font(value:String)
> >               {
> >                       if(bReady){
> >                               if(arrFont.indexOf(value)!=-1)
> >                               {
> >                                       tFormat.font=value;
> >                                       refreshFormat()
> >                               }
> >                       }
> >               }
> >
> >               [Inspectable(name="4 - Align",
> > defaultValue="LEFT",enumeration="LEFT,RIGHT,CENTER,JUSTIFY",
> > type="String")]
> >               public function set Align(value:String)
> >               {
> >                       if(bReady)
> >                       {
> >                               switch(value)
> >                               {
> >                                       case "LEFT":
> >
> tFormat.align=TextFormatAlign.LEFT;
> >                                       break;
> >                                       case "CENTER":
> >
> tFormat.align=TextFormatAlign.CENTER;
> >                                       break;
> >                                       case "RIGHT":
> >
> tFormat.align=TextFormatAlign.RIGHT;
> >                                       break;
> >                                       case "JUSTIFY":
> >
> tFormat.align=TextFormatAlign.JUSTIFY;
> >                                       break;
> >                               }
> >                               refreshFormat();
> >                       }
> >               }
> >       }
> > }
> >
> >
> > Merci de vos lumière,
> > >
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "FCNG" de 
Google Groupes.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à 
l'adresse [email protected]
 Pour résilier votre abonnement à ce groupe, envoyez un e-mail à 
l'adresse [email protected]
 Pour afficher d'autres options, visitez ce groupe à l'adresse 
http://groups.google.com/group/FCNG?hl=fr
-~----------~----~----~----~------~----~------~--~---

Répondre à