1

私は Flex フォーラムをあきらめ始めているので、ここに再投稿して状況を見ていきます。長年潜んでいて、初めてのポスター ;-)

私はステージ上でキーボードイベントをトラップし、フレームワークを介してカスタムイベントをディスパッチしています (Mate、これが重要な問題であることは知りません) が、スコープにかなり混乱しています。構造は次のとおりです。

--application (キーボード イベントをトラップし、カスタム イベントをディスパッチします

 --  mainPanel (receives dispatched events but mainCalendar (a child element) 
     is null on debugging. Obviously if I try to call a public method on 
     mainCalendar it errors out, even though it's a child of mainPanel. 
     However, mainCalendar is NOT null IF I use 
     FlexGlobals.topLevelApplication.mainPanel.mainCalendar.
     Outerdocument and parentDocument do not expose mainCalendar either, BTW

     --  mainCalendar (a custom component inside mainPanel with public methods. 
         Creation policy is 'all' and it's visible and exists long before I 
         trap any keystrokes at the top level)

mainCalendar が mainPanel の子であるにも関わらず、mainPanel がカスタム イベントを受け取ったときに mainCalendar が範囲外である理由を誰かが説明してくれませんか。イベントを管理するためのより良い方法はありますか?

ありがとう

4

1 に答える 1

1

(この質問を回答済みとしてマークできるように回答を作成しています)
通常、コンポーネントへの参照がnullであり、そうすべきでない場合、これはコンポーネントがまだ作成されていないことを意味します。これは、アプリケーションinitializeイベントの前、またはコンポーネントの親が表示されておらず、検証されていない場合に発生する可能性があります。

于 2012-04-18T07:49:01.420 に答える