[Flex 4] Module doesn't unload due to mx.styles.StyleManagerImpl - moduleFactroy?

I have a custom component extending skinnableContainer and has a ButtonBar and Groups in it, which I use in my module.
If I do not: import CustomClass; CustomClass; in my main application, then the module is stuck with mx.styles.StyleManagerImpl - moduleFactroy in the profiler.
Why is that? I though that modules in Flex 4 have their own style manager and I should not have this problem? What I am missing?
And also since I'm building a modular system and someone builds a module swf for it, he will have to include his components along with it, so then I can reference them in my mainApp, so his module doesn't get stuck in memory. Is that the way it's supposed to work or I am doing something work ?

Thanks for the reply Darrell, as you can see I've started looking into the unloading modules and profiling topic, as I progress with my modular application.
So I am kinda new in both, although I've read all articles I could find I have some problems so I've created a very simple application example again, so you could easily look into it and hopefully spread some light in my confusion.
http://filip.nedyalkov.net/moduleImageStuck/ view source is enabled so you can confirm test what I will describe here, use it to view the source, or download to profile the results I post here.
The scenario of the example is: On app creation 2 modules are loaded and created via moduleInfo:
MyModule.mxml
<s:Group><mx:Image id="imageLoader" /></s:Group>
MyModule2.mxml
<s:Group> 
<local:HNav /></s:Group>
HNav.mxml - SkinnableContainer
<s:ButtonBar><s:dataProvider><s:ArrayCollection><fx:String>B1</fx:String><fx:String>B2</fx:String></s:ArrayCollection></s:dataProvider></s:ButtonBar>
So with the example provided I've made 3 test cases, where I get different results.
1) The first one is as the example is currently setup to run, which means:
- these 2 imports are NOT included in the main app
//import mx.controls.Image; Image;
//import HNav; HNav;
- both modules are loaded via moduleInfo "load()" only method (moduleFactory is not passed).
Darrell, here what I wonder is: "In Flex 4 a module will not be pinned in memory by StyleManager unless you explicitly set styles from the module into the top-level StyleManager". With this said I should be not having my modules pinned into memory with this setup, right? Or I am missing something? Here is the profiler result for both modules - both FlexModuleFactories remain:
2) In the second test case I included the imports along with the current setup:
import mx.controls.Image; Image;
import HNav; HNav;
The result here was nice, both FlexModuleFactories were gone in the profiler. But the question remains - why do I have to declare in my main app these classes when in Flex 4 the StyleManager shouldn't pin them like in case 1) in memory.
3) I also post here this test case 3 because I find it as an unexpected behavior or bug maybe with the mx:Image class.
Here we still have the imports but instead of "load()" we pass in the moduleFactory: load(null,null,null,moduleFactory);
The result of this is having MyModule's FlexModuleFactory stuck in memory with reference with the StyleManager and MyModule2 is completely gone, so it's ok.
Here is the profiler result:
So the question here along with the idea it could be a bug, is: Should I pass moduleFactory to modules I plan to unload? I wanted to pass moduleFactory instead of declaring same styles for each module.
Darrell I'm kinda stuck on these questions, cause I've found nothing on this in articles, and I tried really hard to put my very complexed project into this simple examples, so I get the methodology and logic of how a dynamic system which constantly loads and unloads modules should be structured.
I really hope you find the time to answer me here till I get this running. I'm sure others will find it useful too. Thanks in advance.

Similar Messages

  • 26-suspend2 error: "Some modules failed to unload: nvidia"

    I've been trying to install the suspend2 kernel to allow my machine to hibernate, but I can't get it to work from within X (though it seems to work fine in run level 3).  When I try, I get:
    $ sudo hibernate
    Password:
    :: Saving ALSA Levels [DONE]
    Some modules failed to unload: nvidia
    hibernate: Aborting suspend due to errors in ModulesUnloadBlacklist (use --force to override).
    :: Restoring ALSA Levels [DONE]
    Here is my xorg.conf:
    # nvidia-xconfig: X configuration file generated by nvidia-xconfig
    # nvidia-xconfig: version 1.0 (buildmeister@builder3) Wed Jun 13 18:39:30 PDT 2007
    Section "ServerLayout"
    Identifier "X.org Configured"
    Screen 0 "Screen0" 0 0
    InputDevice "Mouse0" "CorePointer"
    InputDevice "Keyboard0" "CoreKeyboard"
    EndSection
    Section "Files"
    RgbPath "/usr/share/X11/rgb"
    ModulePath "/usr/lib/xorg/modules"
    FontPath "/usr/share/fonts/misc"
    FontPath "/usr/share/fonts/100dpi:unscaled"
    FontPath "/usr/share/fonts/75dpi:unscaled"
    FontPath "/usr/share/fonts/TTF"
    FontPath "/usr/share/fonts/Type1"
    EndSection
    Section "Module"
    Load "xtrap"
    Load "dbe"
    Load "record"
    Load "extmod"
    Load "freetype"
    Load "type1"
    Load "glx"
    EndSection
    Section "InputDevice"
    Identifier "Keyboard0"
    Driver "kbd"
    EndSection
    Section "InputDevice"
    Identifier "Mouse0"
    Driver "mouse"
    Option "Protocol" "auto"
    Option "Device" "/dev/input/mice"
    Option "ZAxisMapping" "4 5 6 7"
    EndSection
    Section "Monitor"
    #DisplaySize 340 270 # mm
    ### Comment all HorizSync and VertRefresh values to use DDC:
    Identifier "Monitor0"
    VendorName "MAG"
    ModelName "LT716s"
    HorizSync 31.0 - 81.0
    VertRefresh 60.0 - 75.0
    Option "DPMS"
    EndSection
    Section "Device"
    ### Available Driver options are:-
    ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
    ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
    ### [arg]: arg optional
    #Option "SWcursor" # [<bool>]
    #Option "HWcursor" # [<bool>]
    #Option "NoAccel" # [<bool>]
    #Option "ShadowFB" # [<bool>]
    #Option "UseFBDev" # [<bool>]
    #Option "Rotate" # [<str>]
    #Option "VideoKey" # <i>
    #Option "FlatPanel" # [<bool>]
    #Option "FPDither" # [<bool>]
    #Option "CrtcNumber" # <i>
    #Option "FPScale" # [<bool>]
    #Option "FPTweak" # <i>
    Option "RenderAccel" "true"
    Option "AllowGLXWithComposite" "true"
    Option "NvAGP" "1"
    #ProcSetting extra_pages_allowance 0
    Identifier "Card0"
    Driver "nvidia"
    #Driver "nvidia-suspend2"
    VendorName "nVidia Corporation"
    BoardName "GeForce 7300 LE"
    EndSection
    Section "Screen"
    Identifier "Screen0"
    Device "Card0"
    Monitor "Monitor0"
    Option "AddARGBGLXVisuals" "true"
    Option "DisableGLXRootClipping" "true"
    SubSection "Display"
    Viewport 0 0
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Depth 4
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Depth 8
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Depth 15
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Depth 16
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Depth 24
    EndSubSection
    EndSection
    Section "Extensions"
    Option "Composite" "Enable"
    EndSection
    hibernate.conf:
    # hibernate.conf is split into separate configuration files.
    # Each file is tried in the order below, until an available suspend
    # method is found.
    # Options specific to a particular suspend method should be placed in the
    # appropriate configuration file (suspend2.conf, ususpend.conf, disk.conf
    # or ram.conf).
    # Options common to all suspend methods should be placed in common.conf.
    # See hibernate.conf(5) for help on the configuration items.
    TryMethod suspend2.conf
    #TryMethod disk.conf
    #TryMethod ram.conf
    common.conf:
    # Configuration options common for suspending to disk or RAM.
    # Options are not case sensitive.
    # See hibernate.conf(5) for help on the configuration items.
    ### Some global settings
    Verbosity 0
    LogFile /var/log/hibernate.log
    LogVerbosity 1
    # LogTimestamp yes
    # AlwaysForce yes
    # AlwaysKill yes
    # HibernateVT 15
    Distribution arch (or debian/fedora/gentoo/mandrake/redhat/slackware/suse)
    # XDisplay :0
    ### Scriptlets
    ### Scriptlets provide support for doing all sorts of things before and after
    ### suspending. The defaults settings here should work for most people, but
    ### you may wish to edit these to taste. Consult "hibernate -h" for help on
    ### the configuration settings.
    ### bootsplash
    ## If you use bootsplash, also enabling SwitchToTextMode is recommended if
    ## you use X, otherwise you may end up with a garbled X display.
    # Bootsplash on
    # BootsplashConfig /etc/bootsplash/default/config/bootsplash-1024x768.cfg
    ### clock
    SaveClock restore-only
    ### devices
    # IncompatibleDevices /dev/dsp /dev/video*
    ### diskcache
    # DisableWriteCacheOn /dev/hda
    ### fbsplash (enable SwitchToTextMode if you use this)
    # FBSplash on
    # FBSplashTheme suspend2
    ### filesystems
    # Unmount /nfsshare /windows /mnt/sambaserver
    # UnmountFSTypes smbfs nfs
    # UnmountGraceTime 1
    # Mount /windows
    ### grub
    # ChangeGrubMenu yes
    # GrubMenuFile /boot/grub/menu.lst
    # AlternateGrubMenuFile /boot/grub/menu-suspended.lst
    # BackupGrubMenuFile /boot/grub/menu.lst.hibernate.bak
    # see http://bugs.debian.org/317479
    # RemountXFSBoot yes
    ### hardware_tweaks
    # IbmAcpi yes
    # Runi915resolution yes
    # FullSpeedCPU yes
    ### lilo
    # EnsureLILOResumes yes
    ### lock (generally you only want one of the following options)
    # LockConsoleAs root
    # LockXScreenSaver yes
    # LockGnomeScreenSaver yes
    # LockKDE yes
    # LockXLock yes
    # LockXAutoLock yes
    ### misclaunch
    # OnSuspend 20 echo "Good night!"
    # OnResume 20 echo "Good morning!"
    ### modules
    # UnloadModules snd_via82cxxx usb-ohci
    # UnloadAllModules yes
    UnloadBlacklistedModules yes
    LoadModules auto
    # LoadModulesFromFile /etc/modules
    ### modules-gentoo
    # GentooModulesAutoload yes
    ### network
    # DownInterfaces eth0
    # UpInterfaces auto
    ### pause_audio
    # MuteAudio yes
    # PauseAudio yes
    ### pcmcia
    # EjectCards yes
    ### programs
    # IncompatiblePrograms xmms
    ### services
    # RestartServices laptop_mode
    RestartServices alsa
    # StopServices alsasound
    # StartServices aumix
    ### vbetool
    # EnableVbetool yes
    # RestoreVbeStateFrom /var/lib/vbetool/vbestate
    # VbetoolPost yes
    # RestoreVCSAData yes
    ### xhacks
    SwitchToTextMode yes
    # UseDummyXServer yes
    # DummyXServerConfig xorg-dummy.conf
    ### xstatus
    ## This can be set to gnome, kde or x:
    # XStatus gnome
    # XmessageDisable yes
    # XSuspendText Preparing to suspend...
    # XResumeText Resuming from suspend...
    ## When using XStatus x, and you have xosd installed:
    # XosdSettings --font '-misc-fixed-medium-r-semicondensed--*-120-*-*-c-*-*-*' --colour=Green --shadow 1 --pos bottom --align center --offset 50

    So does this mean that ususpend with hibernate-script is somehow broken and that pm-utils must be used?
    UPDATE:  I just tried it.  pm-utils suspends without complaint, and was easy to set up.   I still have problems
    though, and will post them separately, if I don't find a solution on the wiki.
    Last edited by adrian.ratnapala (2009-08-01 16:53:06)

  • Help- Flex Start Page doesn't open the Start Page

    Help -> Flex Start Page doesn't open the Start Page.
    I see multiple bug entries regarding this resolved, but no description of what I can do to fix it.
    I'm running Flex Builder Professional on Windows XP

    I've heard this can be caused in IE when the pop-up blocker is enabled. Disable it so pop-ups are allowed, and the Flex Start Page may load.
    If this post answers your question or helps, please mark it as such.

  • Airport for Windows doesn't start due to missing dnssd.dll?

    I've just installed AirPort for Windows v5.4.2 on my Windows XP SP3 laptop, yet it doesn't start due to a supposedly missing dnssd.dll file.
    The error message states: "This application has failed to start because dnssd.dll was not found. Re-installing the application may fix this problem" .
    Re-installing does not fix this. Any ideas?

    That's interesting. It's actually a BonJour dll, and it lives at:
    C:\WINDOWS\system32\dnssd.dll
    I can replicate your error message by dragging the dll out of system32 and on to the desktop prior to trying to launch the Airport utility.
    If it has gone walkabout for you in a similar fashion, here's a way of getting it back.
    Restart the PC. Now head into your Add or Remove Programs Control Panel. Select BonJour, click "Change" and then click "Repair".
    Does the repair install of BonJour go through properly? If so, can you open the Airport utility without the error message?

  • Exception when starting flex apache module

    Hi all,
    I'm trying to install the flex apache module on a server but
    I get an exception when I start apache.
    This are the info relating to my system:
    [root@reilabs-www adobe]# uname -a
    Linux server 2.6.20-1.2952.fc6 #1 SMP Wed May 16 17:59:13 EDT
    2007 i686 i686 i386 GNU/Linux
    [root@server adobe]# java -version
    java version "1.6.0_06"
    Java(TM) SE Runtime Environment (build 1.6.0_06-b02)
    Java HotSpot(TM) Client VM (build 10.0-b22, mixed mode,
    sharing)
    [root@rserver adobe]# /opt/adobe/flex_sdk_3/bin/mxmlc
    -version
    Version 3.0.0 build 477
    I get this when I start apache with: service httpd start:
    [root@server]# Exception in thread "main"
    java.lang.StringIndexOutOfBoundsException: String index out of
    range: -1
    at java.lang.String.substring(Unknown Source)
    at flex2.tools.apache.RemoteApplication.initRequest(Unknown
    Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
    Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown
    Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
    Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
    at sun.rmi.transport.Transport$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native
    Method)
    at sun.rmi.transport.Transport.serviceCall(Unknown Source)
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown
    Source)
    at
    sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown
    Source)
    at java.lang.Thread.run(Unknown Source)
    at
    sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Unknown
    Source)
    at sun.rmi.transport.StreamRemoteCall.executeCall(Unknown
    Source)
    at sun.rmi.server.UnicastRef.invoke(Unknown Source)
    at
    flex2.tools.apache.RemoteApplication_Stub.initRequest(Unknown
    Source)
    at flex2.tools.apache.LocalApplication.compile(Unknown
    Source)
    at flex2.tools.apache.Client.main(Unknown Source)
    I followed instruction and I installed the flex_sdk_3 in
    /opt/adobe/flex_sdk_3, installed the flex apache module in the same
    dir, then I edited the compiler.sh file setting the correct path to
    the flex home dir, then I placed in /etc/httpd/conf/htttpd.conf
    these lines:
    LoadModule flex_module
    /opt/adobe/flex_sdk_3/modules/apache/linux/22/mod_flex.so
    AddHandler flex .mxml
    Can you hint about a possible solution to this problem?
    Many thanks in advance, best regards.

    I am facing the same problem too... Do we have any solution to the problem while apache module for flex falis while it starts with the StringIndexOutofBoundsException ?

  • Flex 4 Modules and Stylesheets

    I am having trouble using stylesheets in a module, in particular with class styles (i.e. ".myStyle"). They are not loading at compile time. My module is:
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Module xmlns:fx="http://ns.adobe.com/mxml/2009"
               xmlns:s="library://ns.adobe.com/flex/spark"
               xmlns:mx="library://ns.adobe.com/flex/mx"
               xmlns:views="com.fosrias.portal.views.*"
               xmlns:maps="com.fosrias.portal.maps.control.*"
               layout="absolute">
        <fx:Style source="../assets/styles/main.css"/>     
        <views:PortalUI left="0" top="0" right="0" bottom="0"/>
    </mx:Module>
    Any my main.css contains
    mx|SomeComponent {
         etc.
    .myStyle {
         etc.
    The type style mx|Component loads, but the class style .myStyle does not. Should this work, or do I have to compile my styles to a swf and load them a runtime? Thanks

    So, the component's (which is a UIComponent subclass in the module) styleManager.ModuleFactory is the top-level application (ii.e. app embedding the module) system manager. Not, the local modul's systemManager.
    Chokes, means returns null on the getStyleDeclaration call.
    However, per the documentation here :
    http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-799a.html
    Using styles with modules
    When you set styles on modules, the style properties are set on the local StyleManager. Each module has its own instance of the IStyleManager2 class. This means that each module can load its own set of styles, and its styles do not necessarily affect the styles of other modules.
    After an application finishes loading a module, the module’s styles are merged with the styles of the application. The module’s StyleManager walks the chain of parent modules and applications, up to the top-level StyleManager, and merges its styles with those set on the StyleManagers above it.
    Thus, it seems the styles should merge and thus be accessible by the top-level system manager, no?
    That being said, if not, how do you actually locate the the local system manager instance to use it? Or can't you?
    Thanks.
    Mark

  • Lightroom 5: start button in the presentation module doesn't work properly

    Hi. I purchased LR 5 last week but the start button in the presentation mudule doesn't work properly. I get a black screen and nothing happens. I have to press the esc button several times to return to LR.Can you help me please
    Regards Eugene

    start button in the presentation mudule
    Can you clarify?
    There is no start button nor a presentation module.
    Do you mean the Play button in the Slideshow module?
    Which operating system?

  • PHP_OCI8 modul doesn't work with xampp

    Hello guy's
    i've installed the newest xampp version 1.6.3a which contains php version 5.2.3.
    Now i have to connect with php to an external oracle database.
    i deleted the comments before extension=php_oci8 in the php.ini and i'have extracted the oracle instant client basic in the ./xampp/instantclient_10_2.
    i'have inserted the oracle instant client path into the windows path variable. i've also created the ORACLE_HOME variable with the same path.
    the problem ist that it won't work. i tired it with the new php_oci8.dll from pecl. but here it is the same problem. in phpinfo() it doesn't show the oci8 module.
    and in the test file this is the error message appeared "Fatal error: Call to undefined function oci_connect() in C:\Program Files\xampp\htdocs\oracle_test\index.php on line 2"
    now i need help. can someone help me?

    It sounds like you are on the right track. Some Windows users have reported needing a reboot after setting environment variables like PATH. If that doesn't help, try checking what libraries are needed by PHP and make sure they are being found. Last time I did that on Windows I used Dependency Walker.
    -- cj
    PS With Instant Client there is no need to set ORACLE_HOME

  • Function Module - Customer Installment Payment Due

    Hello,
    I am trying to create a payment due report for our customers. We use installment payment terms for our customers. Therefore, when run at the end of September 2011 this report has to only show the invoice amount, tax and discount that is due as of that date. Is there a function module that I can use to get the split based on these installment terms?
    The only other option is to do the calculation manually within the program i.e. read the installment percentage from the table T052S and calculate the values per invoice. However, it seems as if there would be a easier way to do this. Can someone please suggest any function modules that can be used to calculate the net due, discount and tax amounts per installment period?
    Thanks,
    Rugmani

    Dear Rugmani,
              Provide you url which is helpful to you....i think you must have to create a z-report for this purpose.
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/TRZP/TRZP.pdf
    regards
    Ajit

  • Kernel module not properly unloaded at shutdown

    Hello everyone,
    I guess I have found the solution to my problem described in the following topic: https://bbs.archlinux.org/viewtopic.php?pid=1215504. It's about my headphone output not working when booting from Arch to Windows 7.
    When I unload the module manually with:
    modprobe -r snd_hda_intel
    Sound with Windows 7 works perfectly (without removing the battery from my laptop!).
    Now I would like to know, how to properly unload this module before powering off the machine?

    graysky wrote:Never heard of that since rebooting should clear hardware states, no?  In any case, why not run an `rmmod snd_hda_intel` via systemd on shutdown?
    Yeah, seems like if you require a hack/workaround for this, it would be easy enough to set up.  You could use a systemd.service for this, but I would probably go the even easier route and just drop a one line script in /usr/lib/systemd/system-shutdown.

  • Help me,About invoking PopUpManager.addPopUp problem in Flex 4 Module

    hello,when I invoke PopUpManager.addPopUp(),have a problem. detail from the fellowing program code;
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Module xmlns:fx="http://ns.adobe.com/mxml/2009"
               xmlns:s="library://ns.adobe.com/flex/spark" width="100%" height="100%"
               xmlns:mx="library://ns.adobe.com/flex/mx" creationComplete="initApp()">
        <fx:Declarations>
            <!-- 将非可视元素(例如服务、值对象)放在此处 -->
        </fx:Declarations>
        <fx:Script>
            <![CDATA[
                import mx.collections.ArrayCollection;
                import mx.controls.Alert;
                import mx.core.FlexBitmap;
                import mx.core.FlexGlobals;
                import mx.events.CloseEvent;
                import mx.events.DataGridEvent;
                import mx.events.ListEvent;
                import mx.managers.PopUpManager;
                import mx.rpc.AsyncToken;
                import mx.rpc.events.FaultEvent;
                import mx.rpc.events.ResultEvent;
                import mx.rpc.remoting.RemoteObject;
                import org.mydev.fnd.proxy.FndLookupHeadersProxy;
                import org.mydev.fnd.proxy.FndLookupLinesProxy;
                import org.mydev.fnd.vo.FndLookupHeadersVO;
                import org.mydev.fnd.vo.FndLookupLinesVO;
                import org.mydev.utils.PublicFunction;
                import spark.components.Application;
                [Bindable]
                private var myac:ArrayCollection=new ArrayCollection();
                [Bindable]
                private var myacLines:ArrayCollection=new ArrayCollection();
                private var headerProxy:FndLookupHeadersProxy=new FndLookupHeadersProxy();
                private var linesProxy:FndLookupLinesProxy=new FndLookupLinesProxy();
                private var add:FndHeaderDM;
                private var lineAdd:FndLineDM;
                private function lfRowNum(oItem:Object,iCol:int):String
                    var iIndex:int = myac.getItemIndex(oItem) + 1;
                    return String(iIndex);
                private function lfRowNumLines(oItem:Object,iCol:int):String
                    var iIndex:int = myacLines.getItemIndex(oItem) + 1;
                    return String(iIndex);
                private function we_resultHandler(event:ResultEvent):void
                    myac=event.result as ArrayCollection;
                    //                PopUpManager.removePopUp(wi);
                    // TODO Auto-generated method stub
                private function we_faultHeadler(event:FaultEvent):void{
                    //                var msg:String=event.message.toString();
                    Alert.show("插入数据失败!");
                private function we_resultHandlerLines(event:ResultEvent):void
                    myacLines=event.result as ArrayCollection;
                    //                PopUpManager.removePopUp(wi);
                    // TODO Auto-generated method stub
                private function we_faultHeadlerLines(event:FaultEvent):void{
                    //                var msg:String=event.message.toString();
                    Alert.show("插入数据失败!");
                public function initApp():void{
                    dataHeaders.allowMultipleSelection=true;
                    var token:AsyncToken=headerProxy.getAllHeaders();
                    PublicFunction.addResponder(token,we_resultHandler,we_faultHeadler);
                    //                dataHeaders.addEventListener(MouseEvent.DOUBLE_CLICK,doubleClick)
                    //                dataHeaders.addEventListener(ListEvent.KEY_DOWN,selectChange);
               protected function btnAddHeader_clickHandler(event:MouseEvent):void
                    //                trace("test.............");
                    add=new FndHeaderDM();
                    PopUpManager.addPopUp(add,parent,true);
                    //PopUpManager.addPopUp(add,FlexGlobals.topLevelApplication as DisplayObject,true);
                    PopUpManager.bringToFront(add);
                    PopUpManager.centerPopUp(add);
                    //                var myFun:Function=initApp;
                    var fndLookupHeadersVO:FndLookupHeadersVO=new FndLookupHeadersVO();
                    add.init(fndLookupHeadersVO,1,myac);
                private function headerAlertClickHandler(event:CloseEvent):void { 
                    var myObj:FndLookupHeadersVO=(FndLookupHeadersVO)(dataHeaders.selectedItem);
                    if (event.detail==Alert.YES){  
                        //                    Alert.show("你选择了 确定");  
                        myac.removeItemAt(dataHeaders.selectedIndex);   
                        //this.parent.removeChildAt(dataHeaders.selectedIndex);
                        headerProxy.removeObj(myObj);
                        //                initApp();
                        //dataHeaders.initialize();
                    //                else if(event.detail==Alert.NO){  
                    //                    Alert.show("你选择了 否");  
                    //                }else{  
                    //                    Alert.show("你选择了 取消");  
                protected function btnDelHeader_clickHandler(event:MouseEvent):void
                    if (dataHeaders.selectedItem!=null){
                        Alert.show("是否要删除?", "信息提示",3, this, headerAlertClickHandler);
                    }else{
                        Alert.show("请选定一条记录进行操作!", "信息提示");
                    //                PublicFunction.confirmDelete(dataHeaders.selectedItems,secondAlertClickHandler);
                protected function btnEditHeader_clickHandler(event:MouseEvent):void
                    if (dataHeaders.selectedItem!=null){
                        var myObj:FndLookupHeadersVO=(FndLookupHeadersVO)(dataHeaders.selectedItem);
                        add=new FndHeaderDM();
                        PopUpManager.addPopUp(add,parent,true);
                        PopUpManager.bringToFront(add);
                        PopUpManager.centerPopUp(add);
                        add.init(myObj,2,myac);
                    }else{
                        Alert.show("请选定一条记录进行操作!", "信息提示");
                protected function dataHeaders_changeHandler(event:ListEvent):void
                    //                Alert.show(myac.getItemAt(dataHeaders.selectedIndex)+"");
                    var myObj:FndLookupHeadersVO=(FndLookupHeadersVO)(myac.getItemAt(dataHeaders.selectedIndex));
                    var myLineObj:FndLookupLinesVO=new FndLookupLinesVO();
                    myLineObj.headerId=myObj.headerId;
                    var token:AsyncToken=linesProxy.getByObj(myLineObj);
                    PublicFunction.addResponder(token,we_resultHandlerLines,we_faultHeadlerLines);
                protected function dataHeaders_doubleClickHandler(event:MouseEvent):void
                    if (dataHeaders.selectedItem!=null){
                        var myObj:FndLookupHeadersVO=(FndLookupHeadersVO)(dataHeaders.selectedItem);
                        add=new FndHeaderDM();
                        PopUpManager.addPopUp(add,parent,true);
                        PopUpManager.bringToFront(add);
                        PopUpManager.centerPopUp(add);
                        add.init(myObj,2,myac);
                    }else{
                        Alert.show("请选定一条记录进行操作!", "信息提示");
                protected function dataLines_doubleClickHandler(event:MouseEvent):void
                    if (dataHeaders.selectedItem!=null)
                        lineAdd=new FndLineDM();
                        PopUpManager.addPopUp(lineAdd,parent,true);
                        PopUpManager.bringToFront(lineAdd);
                        PopUpManager.centerPopUp(lineAdd);
                        var lineObject:FndLookupLinesVO=(FndLookupLinesVO)(dataLines.selectedItem);
                        lineAdd.init(lineObject,2,myacLines);
                    else
                        Alert.show("请选定一条记录进行操作!", "信息提示");
                protected function btnAddLines_clickHandler(event:MouseEvent):void
                    if (dataHeaders.selectedItem!=null)
                        lineAdd=new FndLineDM();
                        PopUpManager.addPopUp(lineAdd,parent,true);
                        PopUpManager.bringToFront(lineAdd);
                        PopUpManager.centerPopUp(lineAdd);
                        var fndLookupLinesVO:FndLookupLinesVO=new FndLookupLinesVO();
                        var headerObject:FndLookupHeadersVO=(FndLookupHeadersVO)(dataHeaders.selectedItem);
                        fndLookupLinesVO.headerId=headerObject.headerId;
                        lineAdd.init(fndLookupLinesVO,1,myacLines);
                    else
                        Alert.show("请选定一条记录进行操作!", "信息提示");
                protected function btnEditLines_clickHandler(event:MouseEvent):void
                    if (dataLines.selectedItem!=null)
                        lineAdd=new FndLineDM();
                        PopUpManager.addPopUp(lineAdd,parent,true);
                        PopUpManager.bringToFront(lineAdd);
                        PopUpManager.centerPopUp(lineAdd);
                        var lineObject:FndLookupLinesVO=(FndLookupLinesVO)(dataLines.selectedItem);
                        lineAdd.init(lineObject,2,myacLines);
                    else
                        Alert.show("请选定一条记录进行操作!", "信息提示");
                private function lineAlertClickHandler(event:CloseEvent):void { 
                    var myObj:FndLookupLinesVO=(FndLookupLinesVO)(dataLines.selectedItem);
                    if (event.detail==Alert.YES){  
                        myacLines.removeItemAt(dataLines.selectedIndex);   
                        linesProxy.removeObj(myObj);
                protected function btnDelLines_clickHandler(event:MouseEvent):void
                    if (dataLines.selectedItem!=null){
                        Alert.show("是否要删除?", "信息提示",3, this, lineAlertClickHandler);
                    }else{
                        Alert.show("请选定一条记录进行操作!", "信息提示");
            ]]>
        </fx:Script>
        <s:Panel height="100%" width="100%"  title="HEADERS" autoLayout="true">
            <s:Panel x="0" y="194" height="100%" width="100%" title="LINES" autoLayout="true">
                <mx:DataGrid x="10" y="39" height="100%" width="100%"  id="dataLines" dataProvider="{myacLines}" doubleClickEnabled="true" doubleClick="dataLines_doubleClickHandler(event)">
                    <mx:columns>
                        <mx:DataGridColumn headerText="#RowNo" labelFunction="lfRowNumLines" width="50"/>
                        <mx:DataGridColumn headerText="LINE_ID" dataField="lineId"/>
                        <mx:DataGridColumn headerText="LOOKUP_CODE" dataField="lookupCode"/>
                        <mx:DataGridColumn headerText="MEANING" dataField="meaning"/>
                        <mx:DataGridColumn headerText="DESCRIPTION" dataField="description"/>
                    </mx:columns>
                </mx:DataGrid>
                <s:Button x="200" y="10" label="删除" id="btnDelLines" click="btnDelLines_clickHandler(event)"/>
                <s:Button x="10" y="10" label="追加" id="btnAddLines" click="btnAddLines_clickHandler(event)"/>
                <s:Button x="102" y="10" label="编辑" id="btnEditLines" click="btnEditLines_clickHandler(event)"/>
            </s:Panel>
            <s:Button x="10" y="10" label="追加" id="btnAddHeader" click="btnAddHeader_clickHandler(event)"/>
            <s:Button x="106" y="10" label="编辑" id="btnEditHeader" click="btnEditHeader_clickHandler(event)"/>
            <s:Button x="207" y="10" label="删除" id="btnDelHeader" click="btnDelHeader_clickHandler(event)"/>
            <mx:DataGrid x="10" y="39" height="147" width="100%" change="dataHeaders_changeHandler(event)" doubleClick="dataHeaders_doubleClickHandler(event)" dataProvider="{myac}" id="dataHeaders" doubleClickEnabled="true" lockedColumnCount="1">
                <mx:columns>
                    <mx:DataGridColumn headerText="#RowNo" labelFunction="lfRowNum" width="50" />
                    <mx:DataGridColumn headerText="HEADER_ID" dataField="headerId"/>
                    <mx:DataGridColumn headerText="LOOKUP_TABLE" dataField="lookupTable"/>
                    <mx:DataGridColumn headerText="LOOKUP_COLUMN" dataField="lookupColumn"/>
                    <mx:DataGridColumn headerText="LOOKUP_DESCRIPTION" dataField="lookupDescription"/>
                </mx:columns>
            </mx:DataGrid>
        </s:Panel>
    </mx:Module>
    When I execute  btnAddHeader_clickHandler(event) function,error information  in the fellowing:
    Error: 找不到 FndHeaderDM232.SkinnableContainerSkin233.contentGroup.frm.FormItem238.txtTable 的外观。
        at spark.components.supportClasses::SkinnableComponent/attachSkin()[E:\dev\4.x\frameworks\pr ojects\spark\src\spark\components\supportClasses\SkinnableComponent.as:632]
        at spark.components.supportClasses::SkinnableComponent/validateSkinChange()[E:\dev\4.x\frame works\projects\spark\src\spark\components\supportClasses\SkinnableComponent.as:405]
        at spark.components.supportClasses::SkinnableComponent/createChildren()[E:\dev\4.x\framework s\projects\spark\src\spark\components\supportClasses\SkinnableComponent.as:368]
        at mx.core::UIComponent/initialize()[E:\dev\4.x\frameworks\projects\framework\src\mx\core\UI Component.as:7349]
        at mx.core::UIComponent/http://www.adobe.com/2006/flex/mx/internal::childAdded()[E:\dev\4.x\frameworks\projects\fr amework\src\mx\core\UIComponent.as:7241]
        at mx.core::Container/http://www.adobe.com/2006/flex/mx/internal::childAdded()[E:\dev\4.x\frameworks\projects\fr amework\src\mx\core\Container.as:3972]
        at mx.core::Container/addChildAt()[E:\dev\4.x\frameworks\projects\framework\src\mx\core\Cont ainer.as:2616]
        at mx.core::Container/addChild()[E:\dev\4.x\frameworks\projects\framework\src\mx\core\Contai ner.as:2534]
        at mx.core::Container/createComponentFromDescriptor()[E:\dev\4.x\frameworks\projects\framewo rk\src\mx\core\Container.as:4392]
        at mx.core::Container/createComponentsFromDescriptors()[E:\dev\4.x\frameworks\projects\frame work\src\mx\core\Container.as:4181]
        at mx.core::Container/createChildren()[E:\dev\4.x\frameworks\projects\framework\src\mx\core\ Container.as:3187]
        at mx.containers::FormItem/createChildren()[E:\dev\4.x\frameworks\projects\framework\src\mx\ containers\FormItem.as:479]
        at mx.core::UIComponent/initialize()[E:\dev\4.x\frameworks\projects\framework\src\mx\core\UI Component.as:7349]
        at mx.core::Container/initialize()[E:\dev\4.x\frameworks\projects\framework\src\mx\core\Cont ainer.as:3129]
        at mx.core::UIComponent/http://www.adobe.com/2006/flex/mx/internal::childAdded()[E:\dev\4.x\frameworks\projects\fr amework\src\mx\core\UIComponent.as:7241]
        at mx.core::Container/http://www.adobe.com/2006/flex/mx/internal::childAdded()[E:\dev\4.x\frameworks\projects\fr amework\src\mx\core\Container.as:3972]
        at mx.core::Container/addChildAt()[E:\dev\4.x\frameworks\projects\framework\src\mx\core\Cont ainer.as:2616]
        at mx.containers::Form/addChildAt()[E:\dev\4.x\frameworks\projects\framework\src\mx\containe rs\Form.as:293]
        at mx.core::Container/addChild()[E:\dev\4.x\frameworks\projects\framework\src\mx\core\Contai ner.as:2534]
        at mx.containers::Form/addChild()[E:\dev\4.x\frameworks\projects\framework\src\mx\containers \Form.as:282]
        at mx.core::Container/createComponentFromDescriptor()[E:\dev\4.x\frameworks\projects\framewo rk\src\mx\core\Container.as:4392]
        at mx.core::Container/createComponentsFromDescriptors()[E:\dev\4.x\frameworks\projects\frame work\src\mx\core\Container.as:4181]
        at mx.core::Container/createChildren()[E:\dev\4.x\frameworks\projects\framework\src\mx\core\ Container.as:3187]
        at mx.core::UIComponent/initialize()[E:\dev\4.x\frameworks\projects\framework\src\mx\core\UI Component.as:7349]
        at mx.core::Container/initialize()[E:\dev\4.x\frameworks\projects\framework\src\mx\core\Cont ainer.as:3129]
        at mx.core::UIComponent/http://www.adobe.com/2006/flex/mx/internal::childAdded()[E:\dev\4.x\frameworks\projects\fr amework\src\mx\core\UIComponent.as:7241]
        at mx.core::UIComponent/addChildAt()[E:\dev\4.x\frameworks\projects\framework\src\mx\core\UI Component.as:6947]
        at spark.components::Group/addDisplayObjectToDisplayList()[E:\dev\4.x\frameworks\projects\sp ark\src\spark\components\Group.as:1825]
        at spark.components::Group/http://www.adobe.com/2006/flex/mx/internal::elementAdded()[E:\dev\4.x\frameworks\projects\ spark\src\spark\components\Group.as:1416]
        at spark.components::Group/setMXMLContent()[E:\dev\4.x\frameworks\projects\spark\src\spark\c omponents\Group.as:512]
        at spark.components::Group/set mxmlContent()[E:\dev\4.x\frameworks\projects\spark\src\spark\components\Group.as:452]
        at spark.components::SkinnableContainer/set mxmlContent()[E:\dev\4.x\frameworks\projects\spark\src\spark\components\SkinnableContaine r.as:604]
        at spark.components::SkinnableContainer/createDeferredContent()[E:\dev\4.x\frameworks\projec ts\spark\src\spark\components\SkinnableContainer.as:986]
        at spark.components::SkinnableContainer/createContentIfNeeded()[E:\dev\4.x\frameworks\projec ts\spark\src\spark\components\SkinnableContainer.as:1014]
        at spark.components::SkinnableContainer/createChildren()[E:\dev\4.x\frameworks\projects\spar k\src\spark\components\SkinnableContainer.as:827]
        at mx.core::UIComponent/initialize()[E:\dev\4.x\frameworks\projects\framework\src\mx\core\UI Component.as:7349]
        at org.mydev.fnd.view::FndHeaderDM/initialize()
        at mx.managers.systemClasses::ChildManager/childAdded()[E:\dev\4.x\frameworks\projects\frame work\src\mx\managers\systemClasses\ChildManager.as:189]
        at mx.managers::SystemManager/http://www.adobe.com/2006/flex/mx/internal::rawChildren_addChildAt()[E:\dev\4.x\frameworks \projects\framework\src\mx\managers\SystemManager.as:1963]
        at mx.managers::SystemManager/addChildAt()[E:\dev\4.x\frameworks\projects\framework\src\mx\m anagers\SystemManager.as:1595]
        at mx.managers::SystemManager/addChild()[E:\dev\4.x\frameworks\projects\framework\src\mx\man agers\SystemManager.as:1578]
        at mx.managers::PopUpManagerImpl/addPopUp()[E:\dev\4.x\frameworks\projects\framework\src\mx\ managers\PopUpManagerImpl.as:346]
        at mx.managers::PopUpManager$/addPopUp()[E:\dev\4.x\frameworks\projects\framework\src\mx\man agers\PopUpManager.as:193]
        at org.mydev.fnd.view::FndLookupDM/btnAddHeader_clickHandler()[D:\eclipse-jee-galileo-SR1-wi n32\workspace\subapp\flex_src\org\mydev\fnd\view\FndLookupDM.mxml:88]
        at org.mydev.fnd.view::FndLookupDM/__btnAddHeader_click()[D:\eclipse-jee-galileo-SR1-win32\w orkspace\subapp\flex_src\org\mydev\fnd\view\FndLookupDM.mxml:264]
    I hope you help me,I'm Flex new  develper. thanks!
    My Email: [email protected].

    Hi
    I have a similar (but not exactly the same, see my post: http://forums.adobe.com/message/3943082#3943082). I tried your solution but I don't really understand what you mean by
    2) The module is being linked into the main application.  There are plenty
    of old discussions on this topic.
    Can you be more specific ?
    Thank you !!
    Max

  • Flex Builder 2 doesn error check .as files????

    When I make new flex project (basic project) and then make
    new ActionScript class or file, I can type ANYTHING in and when I
    save, Flex Builder doesn't report any error! Only when I try to run
    application it reports an error. This doesn't happen inside of
    script blocks in mxml files.
    It is totally unacceptable!
    Is it possible to change this?

    Hi dude,
    There's already a thread about this topic:
    Flex
    Builder 2.0 Plugin for RAD7.0
    Cheers --

  • Flex 4 Modules Creation Cycle bug ?

    http://filip.nedyalkov.net/creationcycle/ - view source is enabled, download and see the traces
    Ok so here is what happens in this application:
    Some elements are created in the main application and also a module is loaded. As soon as it is ready the button in the main app goes visible. When you click it the module is added to the main application.
    There is where it gets weird. If the module loader is not added to the main application before the module is ready, everything I've set into the module gets created kinda randomly. For example if I have a button in the module, it should fire button created and then module created, but here it doesn't sometimes. Check out the application I've provided to see what I mean.
    I think that it shouldn't matter if the module loader is added or not, and the module should fire the creation complete events in the normal order, from bottom to top (top is the module itself).
    So I hope someone familiar with modules life cycle behaviour could say if what I see is a bug or not and how it can be fixed. Of course I could add the module loader before the module is loaded but make the moduleloader visible=false, and when I need it visible=true, but that's not the point here.
    Thanks

    Go to this thread: http://forums.adobe.com/thread/764956 - this is with better example.

  • Exclusion module doesn't work

    Hi Gurus,
    I'm trying to use exclusion module for listing but it doesn't work.
    1. I created exclusion module and add an article XXX
    2. I assign this exclusion module to assortment Z001
    3. I tried to list article XXX into assortment Z001, and the article can be listed successfully...
    Could you please give a normal procedure for exlusion module?

    Andreas is right, listing takes place.
    The exclusion will also be effective in procurement (ME21N) where you cannot procure an excluded article. The system checks in two steps:
    1. Is there a listing condition
    2. Is there an exclusion
    Regards

  • Itunes doesn't sync due to lack of memory

    Hi, my iTunes doesn't synch my ipod touch anymore due to the fact that the ipod lacks the memory to import. In the past, it would make a special playlist for my ipod, but iTunes doesn't even give this option anymore.
    Does anyone have an idea how i can force itunes to make this playlist again?
    Sorry for my crappy english, but i'm not used to typing english anymore

    Open iTunes and create a playlist to update your iPod from, call it -My iPod for example (the dash will position it at the top of the playlists in Sources). You can make it a smart playlist that picks the songs for you or just a normal one and drag whatever content you want to have into the playlist. If you are making a smart playlist limit it to just less than the size of your iPod. Now connect your iPod and when it appears in the Source list click on the iPod icon to bring up the preference tabs in the main pane. Go to the Music tab and choose Sync Music and the Selected playlists radio button. Choose the playlist you just made from the selection and click Apply. You can also sync from any existing playlists by choosing the same setting, you just need to make sure that the size of the playlists don't exceed the capacity of your iPod:
    How to create a Smart Playlist with iTunes
    Syncing Music to iPod
    To make a random playlist you could adapt this example to suit the capacity of your iPod (this one is for a 4GB Model). Go to File>New Smart Playlist.
    Uncheck "Match the following rule"
    Check "Limit to" put "3700" in the number box, choose "MB" from the first list box, choose "Random" from the next list box. Check "Live Updating"
    When you want to change the selection in the smart playlist just delete everything in it and it will add a new selection. When you want to change the normal playlist just delete out what you don't want and drag in a new selection.

Maybe you are looking for