WindowApplication, вложенный в приложение?Flex 4 - PullRequest
0 голосов
/ 05 апреля 2011

Я делаю настольное приложение и изучаю различные способы использования приложения.

Когда я выбираю создание эфирного приложения, оно автоматически использует WindowApplication , но если мне нужно несколько окон в моем приложении, мне нужно вместо этого использовать Приложение . Я пытался вложить WindowApplication в Приложение , чтобы я мог иметь несколько окон (по Приложение -> new Window () ) и иметь прозрачная бесцветная программа в фоновом режиме. Когда я вкладываю WindowApplication , он работает, но когда я щелкаю WindowApplication (после запуска отладки), он выдает ошибку: "Ошибка аргумента: Ошибка # 2025: предоставленный объект DisplayObject должен Будь ребенком звонящего ".

Вот код, который я использовал. Я использую Air 2.5 с Flash Builder 4. (XML-файл по умолчанию).

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
                       xmlns:s="library://ns.adobe.com/flex/spark" 
                       xmlns:mx="library://ns.adobe.com/flex/mx"
                       applicationComplete="main()">
    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
    </fx:Declarations>
    <fx:Script>
        <![CDATA[
            import spark.components.Label;
            import spark.components.Window;

            private var windows:Array = new Array();

            private function main():void
            {

                var window:Window;
                var numOfWindows:Number = 2;
                for(var i:Number=0; i<numOfWindows;i++)
                {
                    window = new Window();
                    window.width = 300;                 
                    window.title = "I am Window #"+i;
                    window.height = 200;
                    window.open(true);
                    window.showStatusBar = false;   
                    windows.push(window);
                }
                trace("Complete!");
            }
        ]]>
    </fx:Script>
    <s:WindowedApplication >
    <!-- Compiles, but once I click this, it throws the error. -->
    </s:WindowedApplication>
</s:Application>

Как я мог иметь прозрачное приложение, которое может управлять несколькими окнами (или хотя бы избавиться от ошибки выше)? Заранее спасибо.

1 Ответ

0 голосов
/ 05 апреля 2011

WindowedApplication не предназначено для использования в качестве дочернего элемента, это элемент верхнего уровня. Вы должны использовать Application или WindowedApplication в качестве корневого элемента и никогда не пытаться вложить их друг в друга. Более подробная информация на официальном языке: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/core/WindowedApplication.html

...