Classe

cs_sangho Messages postés 57 Date d'inscription dimanche 29 décembre 2002 Statut Membre Dernière intervention 27 mai 2008 - 17 oct. 2006 à 18:01
cs_sangho Messages postés 57 Date d'inscription dimanche 29 décembre 2002 Statut Membre Dernière intervention 27 mai 2008 - 18 oct. 2006 à 22:50
Ma classe contenue dans le fichier table_membre.as :

lass table_membre {
  
 var nom:String;

 function get_champ():String
 {
  nom = "lol";
  return nom;
 }
 
}

Mon appel dans le. fla
var monMembre:table_membre = new table_membre;
champs = monMembre.get_champ();

Résultat :
Champs = "Undefinied"

Je commence les classes en flash... et je ne comprends pas où est mon erreur...

9 réponses

shubenka Messages postés 759 Date d'inscription mercredi 11 décembre 2002 Statut Membre Dernière intervention 12 novembre 2008
17 oct. 2006 à 18:17
class table_membre {
  
 var nom:String;
 function table_membre(){
    //constructeur obligatoire
 }
 function get_champ():String
 {
  nom = "lol";
  return nom;
 }

}

var monMembre:table_membre = new table_membre();
champs = monMembre.get_champ();

essaye ainsi
<hr />http://www.carton.c.la
0
cs_sangho Messages postés 57 Date d'inscription dimanche 29 décembre 2002 Statut Membre Dernière intervention 27 mai 2008
17 oct. 2006 à 18:38
Merci... mais j'ai d'autre probleme apparament :

Fichier table_membre.as

class table_membre {
  
 var nom:String;
 var prenom:String;
 var mail:String;
 var telephone:String;
 var entreprise:String;
 function table_membre()
 {
  nom = "";
  prenom = "";
  mail = "";
  telephone = "";
  entreprise = "";
 }
 function initVARIABLE(code:Number)
 {
  // CHARGEMENT DES DONNEES
  var loadvars = new LoadVars();
  loadvars.Tcode = code;
  loadvars.sendAndLoad("membre/info.php",loadvars,"POST");
  loadvars.onLoad = function()
  {
   nom = loadvars.Tnom;
   prenom = loadvars.Tprenom;
   mail = loadvars.Tmail;
   telephone = loadvars.Ttelephone;
   entreprise = loadvars.Tentreprise;
  }
 }
}

Fichier fla :

var monMembre:table_membre = new table_membre();
monMembre.initVARIABLE(1);
testtt = monMembre.get_champ(1);

Fichier php :

function envoi_Variable_au_swf($variable,$valeur)
  {
    echo "&$variable=$valeur";
  }
if(isset($HTTP_POST_VARS['Tcode'])) {

 require_once('../bd.inc.php');
 
 $code = $HTTP_POST_VARS['Tcode'];

 $res = mysql_fetch_array(mysql_query("
 SELECT *
 FROM serv_membre
 WHERE mem_id = '".$code."'
 "));
  
 envoi_Variable_au_swf("Tnom",$res['mem_nom']);
 envoi_Variable_au_swf("Tprenom",$res['mem_prenom']);
 envoi_Variable_au_swf("Tmail",$res['mem_mail']);
 envoi_Variable_au_swf("Ttelephone",$res['mem_telephone']);
 envoi_Variable_au_swf("Tentreprise",$res['mem_entreprise']);
 envoi_Variable_au_swf("Tpasse",$res['mem_mdp']);

 mysql_close();
 
}
  
0
shubenka Messages postés 759 Date d'inscription mercredi 11 décembre 2002 Statut Membre Dernière intervention 12 novembre 2008
17 oct. 2006 à 19:56
get_champ(1); ? ca sort d'ou
et il faut que tu attende le chargement des variables avant de les utiliser
monMembre.initVARIABLE(1);
testtt = monMembre.get_champ(1); //ici c'est pas dit que le chargement soit fini
<hr />http://www.carton.c.la
0
cs_sangho Messages postés 57 Date d'inscription dimanche 29 décembre 2002 Statut Membre Dernière intervention 27 mai 2008
17 oct. 2006 à 20:15
Oui je sais,
j'ai donc mis un évènement click pour afficher les informations afin de tester, mais même probleme...
Aucune valeur n'est chargé :'(...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
shubenka Messages postés 759 Date d'inscription mercredi 11 décembre 2002 Statut Membre Dernière intervention 12 novembre 2008
17 oct. 2006 à 22:13
ton php renvoie bien les valeurs ?

<hr />http://www.carton.c.la
0
cs_sangho Messages postés 57 Date d'inscription dimanche 29 décembre 2002 Statut Membre Dernière intervention 27 mai 2008
17 oct. 2006 à 23:17
oui :/

Sangho
0
cs_sangho Messages postés 57 Date d'inscription dimanche 29 décembre 2002 Statut Membre Dernière intervention 27 mai 2008
17 oct. 2006 à 23:19
mais j ai essayer de faire une fonction avec une "LoadVars" et pareil, quand je fais appel à la fonction, elle ne charge pas les données
0
cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 2
18 oct. 2006 à 08:55
Bonjour,

tu as un probleme de ciblage avec ton loadvars, les variables nom, prenom,... sont définies dans la fonction onLoad de loadvars
Va voir du coté de la fonction Delegate pour contourner ce problème de ciblage

import mx.utils.Delegate
class table_membre {
 // definition des variables 
 var nom:String;
 var prenom:String;
 var mail:String;
 var telephone:String;
 var entreprise:String;
 var loadvars :LoadVars
// constructeur avec affectation direct du numéro de membre
function table_membre(_code:Number)
 {
  nom = "";
  prenom = "";
  mail = "";
  telephone = "";
  entreprise = "";
  loadvars = new LoadVars(); 
  loadvars.onLoad = Delegate.create(this.loadingComplete);
  loadvars.Tcode = _code;
  loadvars.sendAndLoad("membre/info.php",loadvars,"POST");
  }
 function loadingComplete()
  {
   nom = loadvars.Tnom;
   prenom = loadvars.Tprenom;
   mail = loadvars.Tmail;
   telephone = loadvars.Ttelephone;
   entreprise = loadvars.Tentreprise;
  }
}

le fla
var monMembre:table_membre = new table_membre(1); // on affecte directement dans le constructeur ne numéro du membre
testtt = monMembre.get_champ(1);
?? La fonction get_champ() est non implémentée dans la classe !!!
testtt=monMembre.nom devrait te renvoyer le nom du membre (LORSQU'IL A ETE CHARGE) puisque tes variables de classe sont public et non private

@+
0
cs_sangho Messages postés 57 Date d'inscription dimanche 29 décembre 2002 Statut Membre Dernière intervention 27 mai 2008
18 oct. 2006 à 22:50
Oui.
désolé, je n'ai pas mis le code en entier.
J'ai essayer cette solution. Les variables ne se chargent toujours pas.
J'ai fait des tests sur le code php, il marche.

voici mon code :
.fla :
var monMembre:table_membre = new table_membre(1);
 gg = monMembre.get_champs();

table_membre.as :
import mx.utils.Delegate
class table_membre {
 // definition des variables
 var nom:String;
 var prenom:String;
 var mail:String;
 var telephone:String;
 var entreprise:String;
 var loadvars :LoadVars
// constructeur avec affectation direct du numéro de membre
function table_membre(_code:Number)
 {
  nom = "";
  prenom = "";
  mail = "";
  telephone = "";
  entreprise = "";
  loadvars = new LoadVars();
  loadvars.onLoad = Delegate.create(this.loadingComplete);
  loadvars.Tcode = _code;
  loadvars.sendAndLoad("membre/info.php",loadvars,"POST");
  }
 function loadingComplete()
  {
   nom = loadvars.Tnom;
   prenom = loadvars.Tprenom;
   mail = loadvars.Tmail;
   telephone = loadvars.Ttelephone;
   entreprise = loadvars.Tentreprise;
  }
function get_champs()
{
// simplifier
 return nom;
}
}
0
Rejoignez-nous