Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flash > AS1/AS2
AS1/AS2 Questions relatives à la programmation ActionScript 1 et 2 (Cours AS2)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/01/2012, 13h00   #1
Expert Confirmé Sénior
 
Avatar de Paul TOTH
 
Homme Paul TOTH
Freelance
Inscription : novembre 2002
Messages : 3 411
Détails du profil
Informations personnelles :
Nom : Homme Paul TOTH
Âge : 42
Localisation : Réunion

Informations professionnelles :
Activité : Freelance
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2002
Messages : 3 411
Points : 6 705
Points : 6 705
Par défaut this dans une fonction anonyme

Bonjour,

je voudrais conserver "this" dans une fonction anonyme en AS2, mais ça ne semble pas fonctionner

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
function MyObject() {
	 this.xml = new XML();
	 this.test = doTest;
}
 
function doTest() {
	 trace(this);
	 this.xml.onLoad = function(success) { trace(this); trace(t); trace(t.xml) }
	 this.xml.load('test.xml');
}
 
var t = new MyObject();
t.test();
les traces me donnent

[object Object]
<test></test>
[object Object]
<test></test>

donc le "this" de la fonction anonyme pointe sur le XML, comment avoir le "this" de l'objet ?

Merci
__________________
Developpez.com: Mes articles
Entreprise: Execute SARL
Produits : UPnP, RemoteOffice sous Delphi
Embarcadero : Ile de la Réunion, Dephi, C++Builder, RADPHP...TVA à 8,5%
Paul TOTH est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 13h23   #2
Expert Confirmé Sénior
 
Avatar de Paul TOTH
 
Homme Paul TOTH
Freelance
Inscription : novembre 2002
Messages : 3 411
Détails du profil
Informations personnelles :
Nom : Homme Paul TOTH
Âge : 42
Localisation : Réunion

Informations professionnelles :
Activité : Freelance
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2002
Messages : 3 411
Points : 6 705
Points : 6 705
ok la réponse est ici, il faut copier this dans une variable locale qui sera accessible dans la méthode anonyme.

Code :
1
2
3
4
5
6
7
 
function doTest() {
	 trace(this);
         var self = this;
	 this.xml.onLoad = function(success) { trace(self); }
	 this.xml.load('test.xml');
}
__________________
Developpez.com: Mes articles
Entreprise: Execute SARL
Produits : UPnP, RemoteOffice sous Delphi
Embarcadero : Ile de la Réunion, Dephi, C++Builder, RADPHP...TVA à 8,5%
Paul TOTH est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h51.


 
 
 
 
Partenaires

Hébergement Web