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

Flash Discussion :

Problème avec la fonction destroyObject()


Sujet :

Flash

  1. #1
    Membre confirmé Avatar de nounetmasque
    Inscrit en
    Janvier 2003
    Messages
    494
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 494
    Points : 570
    Points
    570
    Par défaut Problème avec la fonction destroyObject()
    Bonjour,

    je dois être fatigué ou nul mais je n'arrive pas à voir ce qui ne fonctionne pas avec cette fonction Flash. Je crée dynamiquement un label sur une scène, je lui change son libellé (tout fonctionne jusque là) mais lorsque que j'essaye de le supprimer, rien ne se passe....
    Je vous donne le bout de code que je teste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    import mx.controls.Label;
    var _lbl : Label = this.createClassObject(Label, "lbl", this.getNextHighestDepth());
    _lbl.text = "test";
    this.destroyObject("lbl");
    Merci d'avance.
    "Dieu reste muet, si seulement nous pouvions convaincre l'être humain d'en faire autant."

  2. #2
    Membre habitué Avatar de solarishp
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 123
    Points : 140
    Points
    140
    Par défaut
    Apparemment il manque une petite barre avant le nom de ton occurrence.
    Pour moi c’est une faute de frappe.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    import mx.controls.Label;
    var _lbl : Label = this.createClassObject(Label, "_lbl", this.getNextHighestDepth());
    _lbl.text = "test";
    this.destroyObject("_lbl");
    Respecter la charte du forum pour rappel ! Ici
    Vérifier l’orthographe de vos messages
    Il ne faut pas penser à l'objectif à atteindre, il faut seulement penser à avancer. C'est ainsi, à force d'avancer, qu'on atteint ou qu'on double ses objectifs sans même sans apercevoir.

  3. #3
    Membre confirmé Avatar de nounetmasque
    Inscrit en
    Janvier 2003
    Messages
    494
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 494
    Points : 570
    Points
    570
    Par défaut
    Je viens de tester mais ça ne change rien
    Merci quand même pour ton aide.
    "Dieu reste muet, si seulement nous pouvions convaincre l'être humain d'en faire autant."

  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
    essaye plutot :
    et si c'est pas bon fait un trace du niveau du Label crée afin de verifier qu'il ne soit pas négatif !
    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 nounetmasque
    Inscrit en
    Janvier 2003
    Messages
    494
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 494
    Points : 570
    Points
    570
    Par défaut
    Je viens de tester ta technique et le label est toujours présent... Lorsque je le trace j'obtiens le résultat suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    trace(_lbl + " " + lbl); -> level0.lbl _level0.lbl
    "Dieu reste muet, si seulement nous pouvions convaincre l'être humain d'en faire autant."

  6. #6
    Membre habitué Avatar de solarishp
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 123
    Points : 140
    Points
    140
    Par défaut
    J'ai trouvé la solution à ton problème ! c'est un problème getNextHighestDepth().

    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    import mx.controls.Label;
    //var _lbl : Label = this.createClassObject(Label, "_lbl", this.getNextHighestDepth());
    var _lbl : Label = this.createClassObject(Label, "_lbl", 1); // 0,1,2.....et plus petit que 1048576
    _lbl.text = "test";
    trace(_lbl);
    sur un bouton :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    on (release) {
    	this.destroyObject("_lbl");
    	trace(_lbl);
    }
    J'ai fais le test et cela fonctionne.

    Et pour ton info regarde cet article qui parle du problème de getNextHighestDepth() [ici].

    Voilà j'espère que tout ira bien,
    Respecter la charte du forum pour rappel ! Ici
    Vérifier l’orthographe de vos messages
    Il ne faut pas penser à l'objectif à atteindre, il faut seulement penser à avancer. C'est ainsi, à force d'avancer, qu'on atteint ou qu'on double ses objectifs sans même sans apercevoir.

  7. #7
    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
    au lieu de lui donner la réponse toute crue, fallait le laisser chercher un peu sinon il apprendra rien
    c'est bien pour ca que j'indiquais :
    fait un trace du niveau du Label crée afin de verifier qu'il ne soit pas négatif

    solarship -> pour info : getNextHighestDepth() n'a PAS de probleme !
    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

  8. #8
    Membre confirmé Avatar de nounetmasque
    Inscrit en
    Janvier 2003
    Messages
    494
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 494
    Points : 570
    Points
    570
    Par défaut
    Merci bc pour votre aide.
    Je vais de suite lire l'article que tu m'as conseillé solarishp histoire de comprendre un peu mieux ce qui se passe

    Sinon Lorenzo77 désolé mais je n'avais pas compris que je devais vérifier la profondeur de mon composant flash
    "Dieu reste muet, si seulement nous pouvions convaincre l'être humain d'en faire autant."

  9. #9
    Membre habitué Avatar de solarishp
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 123
    Points : 140
    Points
    140
    Par défaut
    Je sais mais je voulais juste aider .
    Mais apparement il peu y avoir un petit problème avec la fonction getNextHighestDepth


    comme indiqué ci-dessous


    getNextHighestDepth permet de déterminer une valeur de profondeur que vous pouvez transmettre à MovieClip.attachMovie(), MovieClip.duplicateMovieClip(), ou MovieClip.createEmptyMovieClip() afin de vous assurer que Flash rende le clip devant tous les autres objets sur les mêmes niveau et calque dans le clip actuel. La valeur renvoyée est plus grande ou égale à 0 (autrement dit, les nombres négatifs ne sont pas renvoyés).

    Vous pouvez étendre les méthodes et les gestionnaires d’événements de la classe MovieClip en créant une sous-classe.

    Remarque : Si vous utilisez des composants de la version 2, n’utilisez pas cette méthode. Si vous placez un composant de la version 2 sur la scène ou dans la bibliothèque, la méthode getNextHighestDepth() renvoie parfois une valeur de profondeur de 1048676, qui est en dehors de la limite valide. Si vous utilisez des composants de la version 2, vous devez toujours utiliser les composants de la version 2 de la classe DepthManager.

    Pour plus d'infos regarde ce lien [ici]
    Respecter la charte du forum pour rappel ! Ici
    Vérifier l’orthographe de vos messages
    Il ne faut pas penser à l'objectif à atteindre, il faut seulement penser à avancer. C'est ainsi, à force d'avancer, qu'on atteint ou qu'on double ses objectifs sans même sans apercevoir.

  10. #10
    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
    attention, la on ne parle plus vraiment de la fonction getNextHighestDepth mais des composants de flash qui comme tout le monde le sait ne sont pas des modeles ...

    j'ai fait des tests sur des CLIPs normaux donc pas des composants et peut importe a quel niveau (profondeur) le clip est placé le nombre renvoyé est toujours le bon (a la création et destruction) ... il y a bien des cas particulier mais ils sont expliqués dans la DOC.
    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

  11. #11
    Membre habitué Avatar de solarishp
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 123
    Points : 140
    Points
    140
    Par défaut
    Effectivement tu as raison
    Respecter la charte du forum pour rappel ! Ici
    Vérifier l’orthographe de vos messages
    Il ne faut pas penser à l'objectif à atteindre, il faut seulement penser à avancer. C'est ainsi, à force d'avancer, qu'on atteint ou qu'on double ses objectifs sans même sans apercevoir.

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

Discussions similaires

  1. Problème avec une fonction date.
    Par kmayoyota dans le forum ASP
    Réponses: 8
    Dernier message: 09/09/2004, 12h33
  2. Problème avec la fonction findfirst ()
    Par Angelico dans le forum Windows
    Réponses: 3
    Dernier message: 05/08/2004, 20h40
  3. [Requete SQL en VBA] Problème avec la fonction FLOOR
    Par zubral dans le forum Langage SQL
    Réponses: 4
    Dernier message: 13/07/2004, 13h24
  4. Problème avec les fonctions
    Par jvachez dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 13/01/2004, 12h06
  5. [Postgresql]Problème avec les fonctions ...
    Par fet dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/10/2003, 09h04

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