PDA

Просмотр полной версии : 1009: Не удается вызвать свойство или метод со ссылкой на объект "null".


dvrbear
17.02.2011, 20:11
при загрузке swf у меня выдает ошибку:

TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
at GoogleMapTest()

я так подозреваю изза того что пытаюсь загрузить навороченную флешку - помогите разобраться.

в in2.swf гружу GoogleMapTest.swf
все исходники в архиве:
http://apa-noua.com/googlemap/googlemap.zip

gloomyBrain
17.02.2011, 20:18
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
if (stage) init();

То есть сначала обратимся к stage, а потом проверим - есть ли он вообще? =)

dvrbear
17.02.2011, 22:02
gloomyBrain, спасибо - действительно причина в этом.
а почему в случае загрузки stage возвращает null ?
и если не затруднит поясните зачем проверяется stage, перед проведением дальнейших действий констркутора?

и еще после того как я закоментировал эту проверку
public class GoogleMapTest extends Sprite
{
private var map:Map;

public function GoogleMapTest()
{ init();
/*
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
*/
}

public function init(e:Event=null):void

появились новые ошибки
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
at GoogleMapTest/init()
at GoogleMapTest()

какже правильно загрузить такой swf?
и как его загрузить в канкретное место (в мувик) в in2.swf?
(для того чтоб можно было проводить дальнейшие манипуляции с эффектами)

gloomyBrain
17.02.2011, 22:22
а почему в случае загрузки stage возвращает null ?

Потому что сначала запускается конструктор класса, а затем (уже после завершения работы конструктора) объект добавляется на сцену (или не добавляется).

какже правильно загрузить такой swf?

Раскомментировать все что сейчас закомментировано и перенести вот это

stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;

в метод init (он выполняется, когда объект будет добавлен на сцену)

dvrbear
17.02.2011, 22:36
спасибо огромнейшее!!! все заработало :)