probleme sur le retun d'une classe de load XML

probleme sur le retun d'une classe de load XML - Flash/ActionScript - Programmation

Marsh Posté le 21-12-2005 à 19:31:58    

Hello !
bon, j'ai un probleme...
 
j'ai un projet a faire avec du XML, juste un fichier a la con...
comme je retrouve ca dans plein de projet, j'aimerai faire une classe générique qui a une méthode charger a qui on passer l'url du fichier XML en parrametre. Cette méthode charge le fichier, et quand il est onLoad, elle renvois l'objet XML dans lequel elle à chargé le fichier avec return...
je veux pas mettre plus, le but de la classe c'est juste de charger un fichier... je veux poas trop de couplage pour pouvoir utilsier mes classes autrement
 
j'ai donc fais ca :
 

Code :
  1. class Loadxml extends XML {
  2. // constructeur
  3. function Loadxml(mc){
  4.  trace("---------o classe Loadxml" )
  5.  if(mc) {super(mc);}
  6.   else {super();}
  7.   }
  8. //--o methode public
  9. public function chargerXML(__urlXml:String){
  10.     var monXmlALoader = new XML();
  11.     trace("on va charger : " + __urlXml)
  12.     //ça cv pour le faire virer les espaces et les tab  
  13.     monXmlALoader.ignoreWhite = true;
  14.     //quand le téléchargement est fini
  15.     monXmlALoader.onLoad = function(ok:Boolean) {
  16.        if (ok){
  17.         trace("c'est bon" )
  18.         return monXmlALoader;
  19.        } else {
  20.         trace("c'est pas bon" );
  21.         return false;
  22.        }//if
  23.     }// onload
  24.   monXmlALoader.load(__urlXml);
  25.  }// charger XML
  26. }//classe


 
 
je sais que le return false est pas top, je changerai apres pour bien typer le retours de ma fonction en XML mias bon, c'est pas ca qui fais merder
 
j'appele la méthode comme ca :
 

Code :
  1. var monXml:Loadxml = new Loadxml(this);
  2. var donnes = new XML;
  3. donnes = monXml.chargerXML("y006_lexique.xml" );
  4. trace("don : " + donnes);


 
voila, dans l'idéal, j'aimerai recupérer dans donnees, l'objet XML qui a été créé au chargement de mon fichier...
 
en pratique, j'ai l'impression que le trace("don : " + donnes); est appelé avant que le return ai eu lieu... (j'ai le message "c'est bon" qui dis que c'est bien cahrgé dans ma classe apres le trace("don : " + donnes) dans ma fenetre de trace)
 
je peut donc pas utiliser mon objet XML dans mon anim...
 
des idées ?  
il faut que je change de conception ?  
j'aimerai bien quand meme garder une simple classe qui fais que charger le fichier XML Et le coller dans un objet XML
 
merci d'avance !

Reply

Marsh Posté le 21-12-2005 à 19:31:58   

Reply

Marsh Posté le 22-12-2005 à 00:28:07    

Hum bon j'admets que c'est "bien" d'essayer de faire des trucs "modernes" ... mais il y aurait un minimum de bases à connaître d'abord ... [:spamafote]
Apparament, tu patauges complètement dans les notions d'orienté objet !
 
1) C'est quoi ce constructeur ??? Tu as été voir le constructeur de XML avant ???
2) Tu fais exactement la même chose que ton objet Son !!! .. Tu crées un objet XML dans une classe qui étend XML ...  
3) le return dans la fonction onLoad est le return de CETTE fonction onLoad, pas de la fonction chargerXML !!!
 
Je pense tu tu devrais sérieusement apprendre les notions élémentaires de programmation orientée objet ( et vu le point 3, tu as de sérieux problèmes de logique aussi ! :-/ ) avant de t'attaquer à ce genre de chose ! ...
( parce que là, 2 classes, 2 gros problèmes; .. ça va au delà de la coïncidence ! )
 
Enfin bon moi ce que j'en dis ..........


Message édité par Mr Mala le 22-12-2005 à 00:55:29
Reply

Marsh Posté le 22-12-2005 à 08:11:11    

j'ai même pas lu ta classe (j'y connait pas grand chose en POO) mais moi pour charger un xml il me faut moins de ligne que ca, alors je vois pas bien l'interet de faire une classe ?
la classe xml de Flash fonctionne tres bien et se suffit a elle même!
 
au pire si tu doit charger plein de xml, fait une fonction, mais laisse tomber les classes, tu n'en as pas besoin...


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

Marsh Posté le 22-12-2005 à 11:03:56    

ok, j'arrete le flash... je vais me pendre, désolé

Reply

Marsh Posté le 22-12-2005 à 12:47:12    

Rome ne s'est pas fait en un jour...
 
allez courage  :hello:


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

Sujets relatifs:

Leave a Replay

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