Tengo un swf que carga un swf externo. El swf del cargador tiene una variable a la que quiero acceder desde el swf cargado. Yo uso MovieClip(parent.parent).myVar
pero vuelvo este errorCómo acceder a la variable del MovieClip principal desde swf cargado
TypeError: Error #1009: Cannot access a property or method of a null object reference. at card01_fla::MainTimeline/frame1()
el SWF cargador tiene una costumbre Clase de documento que creo que es el problema.
Gracias de antemano.
EDITAR
Este es el tan del SWF principal
package
{
import flash.display.Loader;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.net.URLRequest;
import flash.text.TextField;
/**
* ...
* @author chchrist
*/
public class CardSender extends Sprite
{
private var loader:Loader;
private var viewButtonArray:Array;
private var sendButtonArray:Array;
private var cardContainer:Sprite;
public var testVar:String
public function CardSender() {
testVar = "it worked!!!";
init();
}
private function init() {
viewButtonArray = [cardsenderMC.view01, cardsenderMC.view02, cardsenderMC.view03, cardsenderMC.view04];
for each(var viewButton in viewButtonArray) {
viewButton.buttonMode = true;
viewButton.addEventListener(MouseEvent.CLICK, onViewClick);
}
}
private function onViewClick(e:MouseEvent):void {
var cardName = "card"+e.target.name.substring(4)+".swf";
loader = new Loader();
loader.load(new URLRequest(cardName));
loader.contentLoaderInfo.addEventListener(Event.INIT, onCardInit);
}
private function onCardInit(e:Event):void {
addChild(loader);
var content:* = loader.content;
content.closeButton.addEventListener(MouseEvent.CLICK, onCloseClick);
}
private function onCloseClick(e:MouseEvent):void {
removeChild(loader);
}
}
}
y yo estoy tratando de acceder a la variable de prueba desde el SWF cargado con este código
trace(MovieClip(parent.parent).testVar);
EDITAR # 2
Si addChild(loader)
no está en onCardInit pero en onViewClick y en el primer fotograma del swf cargado tengo Object(parent.parent).testVar
funciona ... pero ¿por qué no quiere estar dentro de la función onCardInit?
¿cuál está arrojando null - parent o parent.parent? – Amarghosh
parent.parent arroja nulo – chchrist
¿Qué obtienes por 'trace (parent); - ¿Cuál es su tipo de datos? – Amarghosh