Salut Marc, c'est la piste pour laquelle j'ai opté finalement...Merci
à tous. Et si je trouve une autre solution, je vous tiens au courant.

Ejoe



On 28 nov, 14:41, Loyat Marc <marc.lo...@gmail.com> wrote:
> Hello,
>
> alors, tu ne pourras pas "écraser" ou modifier la classe TextField en as3
> comme il était possible de le faire avec des classes as1 et sa légendaire
> souplesse digne des plus grand contorsionnistes !
> Ce que tu peux faire en revanche s'il faut que tu appliques qqc à tous
> champs textes créés dans l'IDE, c'est créer un écouteur sur tous les ajouts
> (ADDED_TO_STAGE) en capture qui te permettra de tester si tu as à faire
> avec un champ texte ou non et de faire la modif ad-hoc
>
> a+
>
> Marc
>
> 2011/11/28 Ejoe <ekork...@noos.fr>
>
>
>
>
>
>
>
> > Salut YopSolo!
> > Je suis assez d'accord avec toi, mais dans mon cas, j'ai besoin
> > d'avoir un comportement particulier pour tous les champs de textes. Y
> > compris ceux créé avec l'IDE. Ma seule solution est d'overrider, il me
> > semble le constructeur de la classe native TextField...
> > Pour info, je n'est pas la main sur les champs de texte créé via
> > l'IDE. La seule chose que je peux faire est d'importer des classes
> > dans mon fla.
>
> > Ejoe
>
> > On 27 nov, 13:52, YopSolo <christophe.bes...@free.fr> wrote:
> > > Salut,
>
> > > Changer le proto des objets natifs (as1, js), c'est pratique mais il y
> > > a des effets pervers au niveau des perfs (conso mémoire, vitesse
> > > d'exec) car tous les objets vont hérité des methodes même si ils n'en
> > > ont pas besoin.
>
> > > En as3 tu peux appliquer ton code spécifique uniquement là ou cela est
> > > nécessaire via l'héritage.
>
> > > en pratique cela donne ça :
>
> > > // fichier MyTextfield.as à la racine de ton projet
> > > package
> > > {
> > >         import flash.text.TextField;
>
> > >         public class MyTextfield extends TextField
> > >         {
>
> > >                 public function MyTextfield() // ton constructeur de
> > classe
> > >                 {
> > >                         trace("mon code spécifique");
> > >                 }
>
> > >         }
>
> > > }
>
> > > // dans Main.as
>
> > > var customTextField:MyTextfield = new MyTextfield(); // ton objet
> > > custom
> > > var nativeTextField:TextField = new TextField(); // l'objet natif
>
> > > dans ta console tu auras 1 seul trace : "mon code spécifique"
>
> > > On 25 nov, 14:55, Ejoe <ekork...@noos.fr> wrote:
>
> > > > Salut EKA!
> > > > Quelle coïncidence, j'avais lu ton article sur les prototypes et
> > > > l'overriding. Très bien fichu. Mais apparemment je dois pas être futé
> > > > car malgré çà je tourne en boucle:
> > > > Effectivement le override est de trop et je ne peux pas utiliser le
> > > > nom de la superclasse, mais il y a un truc que je ne pige pas.
> > > > Shématiquement, j'imaginais qu'il fallait recopier la classe quelque
> > > > part, écraser la classe TextField par une nouvelle en créant un
> > > > nouveau constructeur, et réassocier tout le prototypage de la classe
> > > > originale (qui se trouve contenu sous un autre nom) sur la nouvelle
> > > > classe TextField que je viens de créer. çà c'était en AS1. J'ai bien
> > > > compris qu'il y avait maintenant 2 formes de déclarations (traits et
> > > > prototype), et que çà ne se passe plus exactement comme avant. Mais
> > > > dans tous les cas, le compiler est moins permissif qu'avant
> > > > quelquesoit mon approche il m'envoit ch?!#!r.
> > > > Ma question est : est ce que schématiquement çà fonctionne comme je
> > > > viens de le décrire plus haut (avec des aménagements), ou l'overriding
> > > > des classes natives n'est plus du tout permises dans les mêmes
> > > > conditions?
>
> > > > Ejoe
>
> > > > On 25 nov, 12:54, ekameleon <ekamel...@gmail.com> wrote:
>
> > > > > Hello :)
>
> > > > > Une fonction constructeur en AS2 ou AS3 doit avoir le nom de la
> > classe et
> > > > > c'est tout!
>
> > > > > En aucun cas elle doit avoir le mot clé override et surtout le nom
> > de la
> > > > > superclasse.
>
> > > > > Lis bien la doc de l'AS3 au sujet de l'héritage des classes avec le
> > mot clé
> > > > > super etc.
>
> > > > > EKA+ :)
>
> > > > > Le vendredi 25 novembre 2011, Ejoe <ekork...@noos.fr> a écrit :>
> > Bonjour à tous,
>
> > > > > > il fut une époque (bien lointaine), où j'avais posté un problème
> > (en
> > > > > > AS1), sur ce groupe. Entre temps, j'ai arrêté de coder, et je m'y
> > > > > > remet (je fais le grand écart entre AS1 et AS3)...
> > > > > > Enfin voilà, il s'agissait à l'époque de surcharger le
> > constructeur de
> > > > > > la classe TextField afin que tous mes TextField créé à partir de
> > l'IDE
> > > > > > lance un bout de code à leur initialisation.
> > > > > > Le pb, c'est que je souhaiterais reproduire ce comportement en AS3
> > > > > > mais j'ai le compiler qui m'envoie une erreur 1000 en me disant
> > qu'il
> > > > > > y a une ambiguité sur le constructeur TextField...
> > > > > > Pour rappel, voici le thread de l'époque:
>
> >http://groups.google.com/group/fcng/browse_thread/thread/6c3cc8b5f38e...
>
> > > > > > Si quelqu'un à une idée, je vous remercie d'avance.
>
> > > > > > Ejoe
> > > > > > PS : ci-dessous un exemple de test pas concluant.
> > > > > > <code>
> > > > > > package  {
> > > > > >        import flash.display.Sprite;
> > > > > >        import flash.text.TextField;
> > > > > >        public class TextField extends Sprite  {
>
> > > > > >                override public function TextField() {
> > > > > >                        super();
> > > > > >                        trace("overridé");
>
> > > > > >                }
>
> > > > > >        }
>
> > > > > > }
> > > > > > </code>
>
> > > > > > --
> > > > > > Vous recevez ce message, car vous êtes abonné au groupe Google
> > > > > Groupes FCNG.
> > > > > > Pour envoyer un message à ce groupe, adressez un e-mail à
>
> > > > > fcng@googlegroups.com.> Pour vous désabonner de ce groupe, envoyez
> > un e-mail à l'adresse
>
> > > > > fcng+unsubscr...@googlegroups.com.> Pour plus d'options, consultez
> > la page de ce groupe :
>
> > > > >http://groups.google.com/group/fcng?hl=fr
>
> > --
> > Vous recevez ce message, car vous êtes abonné au groupe Google
> > Groupes FCNG.
> > Pour envoyer un message à ce groupe, adressez un e-mail à
> > fcng@googlegroups.com.
> > Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse
> > fcng+unsubscr...@googlegroups.com.
> > Pour plus d'options, consultez la page de ce groupe :
> >http://groups.google.com/group/fcng?hl=fr

-- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes FCNG.
Pour envoyer un message à ce groupe, adressez un e-mail à fcng@googlegroups.com.
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse 
fcng+unsubscr...@googlegroups.com.
Pour plus d'options, consultez la page de ce groupe : 
http://groups.google.com/group/fcng?hl=fr

Répondre à