Hoe verwijs ik naar Windowed Application vanuit een klas die ik heb gemaakt?

Ik gebruik Flex 4.5 en ik heb een aangepaste klasse geïmporteerd die ik heb geschreven in het hoofd MXML-bestand.

Binnen het klassenbestand wil ik in staat zijn om een ​​ TitleWindow te maken met de PopUpManager :

package classes {
    import components.*;//My custom components
    import mx.managers.PopUpManager;

    public class SomeClass {
        public function showPopUp():void {
            PopUpManager.createPopUp(this,NewProjectPrompt,true);
        }
    }
}

NewProjectPrompt is a custom component I made. The compiler is giving me the following error:

1067: Implicit coercion of a value of type classes:Project to an unrelated type flash.display:DisplayObject.

Dit komt omdat dit niet verwijst naar WindowedApplication . Hoe kan ik de eerste parameter in .createPopUp() naar de WindowedApplication wijzen?

1

2 antwoord

deze code werkt!

publieke functie showPopUp() {
   PopUpManager.createPopUp (FlexGlobals.topLevelApplication als DisplayObject, NewProjectPrompt, true); }

2
toegevoegd
Dank je!! Dit werkte prima. : D Echter, als een vriendelijke suggestie, zou het leuk geweest zijn als je een beetje verder had uitgelegd. Ik vond een leuk artikel op de site van Adobe waarin wordt uitgelegd wat je in detail zegt (voor iedereen die dezelfde vraag heeft): help.adobe.com/en_US/flex/using/…
toegevoegd de auteur Titus, de bron

Als uw WindowedApplication-bestand de naam "MyApp.mxml" heeft, schrijft u als volgt een referentie van een component naar deze:

MyApp(this.parentApplication)

Dit zal de daadwerkelijke WindowedApplication retourneren en u kunt zijn openbare methoden aanroepen of indien nodig in een variabele plakken.

1
toegevoegd
Ik heb dit geprobeerd, maar Flex 4.5 herkent parentApplication niet. De meest overeenkomende overeenkomst was parentObject maar het werkte niet.
toegevoegd de auteur Titus, de bron
U kunt een variabele zoals deze var myApp: MyApp = FlexGlobals.topLevelApplication as MyApp; gebruiken als u deze als de Windowed Application wilt gebruiken met uw methoden op het hoogste niveau beschikbaar.
toegevoegd de auteur Paul Mansfield Keefe, de bron