2009-01-31 3 views

답변

1

좀 더 일반적인 용어로 당신이하고 싶은 것이 무엇인지 물어볼 수 있습니까?

그냥 null 참조 오류를 방지하려면, 당신이 null을 위해 사용하고있는 참조 (변수)를 확인 : 구성 요소가 있었는지 다른 이유로 당신이 정말로 알고 싶다면

if (_myComponent != null) 
{ 
    // add listeners 
} 

을 이 작업을하기 전에 초기화해야합니다 (Flex의 UIComponents 이벤트는 디스패치 FlexEvent.INITIALIZE 이벤트이지만, Flex를 사용하지 않는다고 가정합니다) 또는 대안으로 "초기화 된"속성을 설정합니다. 확실하지 않습니다. 표준 플래시 구성 요소는 여기에서 참조 용으로 the Button documentation을보고 있습니다. 물론 우리 구성 요소의 사용자 정의 하위 클래스를 만들 수 있습니다. 귀하가 initialized 속성을 구현하는 곳에서 직접 사용해 보도록하겠습니다. 그러나 표준 플래시 구성 요소에 대해 어떻게 구현할 수 있는지 잘 모르겠습니다. 나는 또한이 컨텍스트에서 "초기화"로 무엇을 의미하는지 확실히 모르겠다. :)

0

아마도 이런 식으로 뭔가?

if (mcWithComponents.stage) doStuff(); 
mcWithComponents.addEventListener(Event.ADDED_TO_STAGE, doStuff); 

private function doStuff(e:Event = null):void 
{ 
    mcWithComponents.myButton.addEventListener(MouseEvent.CLICK, buttonClicked); 
} 

movieclip 클래스에 리스너를 직접 추가하십시오.

public function mcWithComponents() // constructor 
{ 
    if (stage) init(); 
    addEventListener(Event.ADDED_TO_STAGE, init); 
} 
private function init(e:Event = null):void 
{ 
    myButton.addEventListener(MouseEvent.CLICK, buttonClicked); 
} 
관련 문제