Bonjour à tous,

Je viens de lire six page de questions relatives à l'utilisation des popup mais sans trouver de réponses.

Voici mon probléme.

J4ai une application AIR en Flex 4.
J'ajoute à cette application un menu de la maniére suivante:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
Pour Mac
                    var monMenu : CreateMenu = new CreateMenu();
 
                    if (NativeApplication.supportsMenu)
                    {
                        nativeApplication.menu = monMenu.loadMenu(nativeApplication.menu);
                    }
                    else if (NativeWindow.supportsMenu) //Windows
                    {
 
                        nativeWindow.menu = monMenu.loadMenu(nativeWindow.menu);
 
 
                    }
J'ai donc une classe CreateMenu.as qui me permet de constuire mon menu:
En voici un petit bout:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
 
public class CreateMenu extends NativeMenu
    {
 
        // fonction constructeur
 
 
        // creation de la barre de menu
        public function loadMenu(menu : NativeMenu = null):NativeMenu
        {
 
            // s'ajoute au menu actuel
            menu = menu || new NativeMenu(); // si menu sinon new NativeMenu autre notation menu = menu ? menu : new NativeMenu
 
var menuItem5:NativeMenuItem = new NativeMenuItem("Paramètres");
            menuItem5.submenu = createParamMenu();
            menu.addItem(menuItem5);
return menu;
        }
 
private function createParamMenu():NativeMenu
        {
            var menu:NativeMenu = new NativeMenu();
 
            var paramItem1:NativeMenuItem = new NativeMenuItem("Personnaliser");
            paramItem1.addEventListener(Event.SELECT , hParam);
            menu.addItem(paramItem1);
            return menu;
        }
 
 
public function hParam(event:Event) : void
        {
//wParamGlob - étant un fichier .mxml de type TitleWindow
            //PopUpManager.createPopUp(Application as DisplayObject,wParamGlob,false);
            var tw:TitleWindow = new wParamGlob();
            PopUpManager.addPopUp(tw, this.parent as DisplayObject , false);
        }
Lorsque je clique sur le sous-menu Personnaliser qui fait donc appel à la fonction hParam, j'ai le message suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
TypeError: Error #1009: Cannot access a property or method of a null object reference.
    at mx.managers::PopUpManagerImpl/http://www.adobe.com/2006/flex/mx/internal::getTopLevelSystemManager()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\managers\PopUpManagerImpl.as:450]
    at mx.managers::PopUpManagerImpl/addPopUp()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\managers\PopUpManagerImpl.as:310]
    at mx.managers::PopUpManager$/addPopUp()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\managers\PopUpManager.as:193]
    at fr.intersystemes.util::CreateMenu/hParam()[/Volumes/DEV/Dev Flex/Projets/OrthoExpert6/src/fr/intersystemes/util/CreateMenu.as:351]
Je pense que mon problème vient de la réf au DisplayObject, j'ai essayé un certain nombre de choses sans succés.

Si vous avez une idée sur la question, vous m'enlèverez une grosse épine du pied ;-)

Merci par avance.