PDA

Volledige versie bekijken : Scopin met onConnect


eagle
%Europe/Berlin %984 %2006, 23:37
Hello,
kheb een probleempje met scopin binnen een onConnect functie, die in een class zit, hoe kan ik de de test variable tracen?

class someClass {
private var test:Number = Number(666);
private function run():Void {

socket.onConnect = function(stat:Boolean) {
trace(this._parent.test)
//deze laatste werkt niet
if (stat) {
trace("connected to server")

} else {
trace("not connected to server")

}
};
}

eagle
%Europe/Berlin %993 %2006, 23:50
Laat al maar mensen, ik hebbet reeds gevonden!

Roenes
%Europe/Berlin %994 %2006, 23:51
Ervan uitgaand dat je socket wel ergens netjes declareerd en dergelijke, dan heb je 2 keuzes:
- Werken met Delegate
- Een variabele aan scope hangen die naar de class wijst.

Delegate is niet handig in dit geval aangezien je aan de functie een parameter meegeeft en Delegate ondersteund dat niet standaard. Daar zijn wel trucjes voor maar daar wijd ik nu even niet over uit.

Dus de andere manier:

class someClass {
private var test:Number = Number(666);
private function run():Void {
socket.classScope = this;
socket.onConnect = function(stat:Boolean) {
trace(this.classScope.test)
//deze laatste werkt niet
if (stat) {
trace("connected to server")

} else {
trace("not connected to server")

}
};
}
Zegt genoeg lijkt me? En anders hoor ik het wel :)