1

フルスクリーン モードで Flash 9 プレーヤーに問題があります。私の場合、「フルスクリーンモードを終了するにはEscを押してください」が表示されている間、DisplayObject動作のaddChildメソッドが配線されています。通常のステージモード、または「Press Esc..」メッセージがフェードアウトした後は問題ありません。Flash 10 プレーヤーにはこの問題はありません。

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" minWidth="955" minHeight="600">

    <mx:Script>
        <![CDATA[


            protected function fullScreenButton_clickHandler(event:MouseEvent):void
            {
                stage.displayState = StageDisplayState.FULL_SCREEN;
            }
            protected function addButton_clickHandler(event:MouseEvent):void
            {
                var b:Button = new Button();
                b.label="Button" + b.uid;;
                body.addChildAt(b,0);
                var child:DisplayObject = body.getChildAt(0);
                trace(child);
            }

        ]]>
    </mx:Script>
    <mx:VBox>
        <mx:Button id="fullScreenButton" label="Full screen" click="fullScreenButton_clickHandler(event)"/>
        <mx:Button id="addButton" label="Add" click="addButton_clickHandler(event)"/>   
    </mx:VBox>

    <mx:VBox backgroundColor="#ffffff" id="body">
    </mx:VBox>

新しいボタンを作成し、addChild メソッドを使用してボディ VBox に追加しようとしていますが、デバッガーが接続されている場合、次の Flex ディスプレイ検証でランタイム エラーが発生します。デバッガーが全画面表示されていない場合、アプリケーションは終了し、アプリケーションは使用できない状態になります (マウスが機能しません)。これは、「Esc」メッセージが表示されているときに追加ボタンを押すと発生します。

エラーが発生すると、デバッガーは子が mx.skins.halo.HaloBorder であることを示します。エラーのない場合、子は mx.controls.Button です。

エラー:

TypeError: Error #1034: Type Coercion failed: cannot convert mx.skins.halo::HaloBorder@19c9869 to mx.core.IUIComponent.
    at mx.containers.utilityClasses::BoxLayout/measure()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\containers\utilityClasses\BoxLayout.as:90]
    at mx.containers::Box/measure()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\containers\Box.as:276]
    at mx.core::UIComponent/measureSizes()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\core\UIComponent.as:5967]
    at mx.core::UIComponent/validateSize()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\core\UIComponent.as:5913]
    at mx.core::Container/validateSize()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\core\Container.as:2702]
    at mx.managers::LayoutManager/validateSize()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\managers\LayoutManager.as:579]
    at mx.managers::LayoutManager/doPhasedInstantiation()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\managers\LayoutManager.as:692]
    at Function/http://adobe.com/AS3/2006/builtin::apply()
    at mx.core::UIComponent/callLaterDispatcher2()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\core\UIComponent.as:8744]
    at mx.core::UIComponent/callLaterDispatcher()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\core\UIComponent.as:8684]

この問題を回避する方法、またはなぜそれが起こるのか、誰にも考えがありますか?

4

0 に答える 0