Я создал пользовательский компонент во Flex и создал его из основного приложения с помощью ActionScript. Последовательно я вызываю его метод "setName" для передачи строки.
Я получаю следующую ошибку времени выполнения (возникающую, только если я использую метод setName):
TypeError: Error #1009: Cannot access a property or method of a null object reference.
Полагаю, я понял, потому что я вызываю метод newUser.setName из основного приложения до полного создания компонента.
Как я могу попросить actionscript "подождать", пока не будет создан компонент для вызова метода? Должен ли я создать прослушиватель событий в основном приложении, ожидающем его? Я бы предпочел избежать этого, если это возможно.
Вот код:
Главное приложение
...
newUser = new userComp();
//newUser.setName("name");
Компонент:
<?xml version="1.0" encoding="utf-8"?>
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" width="100" height="200" >
<mx:Script>
<![CDATA[
public function setName(name:String):void {
username.text = name;
}
public function setTags(Tags:String):void {
}
]]>
</mx:Script>
<mx:HBox id="tagsPopup" visible="false">
<mx:LinkButton label="Tag1" />
<mx:LinkButton label="Tag2" />
<mx:LinkButton label="Tag3" />
</mx:HBox>
<mx:Image source="@Embed(source='../icons/userIcon.png')"/>
<mx:Label id="username" text="Nickname" visible="false"/>
</mx:VBox>
спасибо