probleme de ciblage (qui est en fait un pb de onLoad())

probleme de ciblage (qui est en fait un pb de onLoad()) - Flash/ActionScript - Programmation

Marsh Posté le 14-04-2006 à 11:05:03    

Bonjour,
 
je viens vers vous parce que je ne comprends pas mon erreur :pfff:  
 
Voila le code:

Code :
  1. var Qunbr:Number = -1;
  2. var LvIn:LoadVars = new LoadVars();
  3. var LvOut:LoadVars = new LoadVars();
  4. LvOut.mode = "GetQnbr";
  5. LvOut.gid = gid;
  6. LvOut.sendAndLoad("loadEV.php", LvIn, "POST" );
  7. LvIn.onLoad = function(success:Boolean) {
  8. if (success) {
  9.  _level.Qunbr = int(this.Qnbr);
  10. } else {
  11.           /* .... */
  12. }
  13. };
  14. test = Qunbr;


 
test est un champ texte dynamique. Il affiche -1. Lorsque je copie cette ligne dans le if (success), il affiche le résultat attendu, à savoir 2.
Je ne comprends pas pourquoi Qunbr n'est pas modifié par le onLoad du LoadVar...
 
C'est de l'AS2 sous Flash Pro 8.
 
merci par avance de vos remarques/suggestions/solutions/sandwichs au thon :jap:  
 
+


Message édité par bob007 le 21-04-2006 à 17:07:57
Reply

Marsh Posté le 14-04-2006 à 11:05:03   

Reply

Marsh Posté le 14-04-2006 à 15:18:28    

en fait c'est peut etre un bug pervers non ? Parce que je ne trouve aucune erreur dans le code...

Reply

Marsh Posté le 17-04-2006 à 19:49:03    

je suis pas sur de comprendre d'ou vient ton "bug"...
est ce que tu as essayé de faire ta requete en GET (pour debugguer le cote PHP directement depuis le navigateur)


---------------
D3
Reply

Marsh Posté le 18-04-2006 à 16:03:04    

non je n'ai pas essaye,

 

par contre,

 

quand j'affiche this.Qnbr la ou je le recupere (donc cote flash) cela marche sans soucis !

Reply

Marsh Posté le 18-04-2006 à 17:12:52    

ah je crois que j'ai compris, c'est ca:
 _level.Qunbr = int(this.Qnbr);
qui ne fonctionne pas...
 
essaye comme ca:

  • Qunbr
  • _root.Qunbr
  • _level0.Qunbr


---------------
D3
Reply

Marsh Posté le 21-04-2006 à 09:15:58    

oui tu as compris :jap:  
Par contre, aucune de ces solutions de fonctionne :heink:  
Une autre idée ? Tu penses a autre chose qu'une erreur de ciblage ?
Merci ;)

Reply

Marsh Posté le 21-04-2006 à 17:03:22    

Ah en fait c'est pas un probleme de ciblage. Le probleme est que le
test = Qunbr;
est effectué avant le onLoad !!

Reply

Marsh Posté le 21-04-2006 à 17:07:24    

Maintenant reste a savoir comment faire pour que le test = Qunbr se fasse que quand le onLoad() est terminé! Des idées ??

Reply

Marsh Posté le 21-04-2006 à 17:07:59    

bien sur comme son nom l'indique onLoad est appellé quand le chargement est effectue (ce qui se fait forcement apres l'interpretation du code de la page ;-) )


---------------
D3
Reply

Marsh Posté le 21-04-2006 à 17:49:06    

oui je suis d'accord pour ca.
Alors maintenant, comment expliquer qu'à la scene d'apres, le Qunbr ne soit toujours pas modifié ?! La variable part aux oubliettes ou ... ?
Je trouve ca bizarre quand meme. J'ai fait un test:
j'écris Qunbr avant la fonction onLoad, puis dedans, puis apres.
 
La variable est mise a jour instantanément, mais pas accessible apres.
Comme si flash evaluait l'annim, puis executait les fonctions des LoadVars().
 
As tu une idée pour ce que je veux faire ?

Reply

Marsh Posté le 21-04-2006 à 17:49:06   

Reply

Marsh Posté le 22-04-2006 à 11:08:04    

c'est quoi une scene pour toi ?
-> une sequence (alors je sais pas, j'uilise jamais les sequences, essaye de toujours mettre _root.Qnbr pour la rendre "global" )
-> une frame (ca c'est bizarre, mais ca depent aussi du reste de ton code si tu mets un stop() dans ta frame, et un play() dans ton onLoad, au moins tu est sur que quand tu joue le reste de l'anim ton infi a bien été rapatrié)


---------------
D3
Reply

Marsh Posté le 23-04-2006 à 16:37:25    

oui une frame pardon.
Effectivement je vais faire un play() dans le onLoad(), on verra bien, mais je crois avoir deja essaye.
 
Je teste des demain au boulot ;) Merci de ton aide en tous cas

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed