Following Doug Winnie's Event Handlers (episode 13)

Hello:
I am following Doug Winnie's Event Handlers (episode 13). When I follow his example:
var blueSquare = new BlueSquare();
blueSquare.x=50;
blueSquare.y=50;
addChild(blueSquare);
blueSquare.addEventListener(MouseEvent.MOUSE_DOWN,onClick);
blueSquare.addEventListener(MouseEvent.MOUSE_OVER,onOver);
function onClick(e:MouseEvent):void{
  trace("The blue square was clicked.");
function onOver(e:MouseEvent):void{
  trace("Mouse Over");
I get two blue squares instead of one on the stage. I am using flash professional CC 2014 on windows 7
Thanks in advance for your help.

There is nothing in that code that would cause two to be added to the display unless you are moving into the same frame twice.
How can you tell you get two instead of one?  One would be sitting atop the other so you would not see the two.  Did you happen to leave a copy of it on the stage?
Try adding that code in a new file and copy the BlueSquare object into its library and see if the same problem exists.

Similar Messages

  • [JS] Basic question about event listeners and event handlers

    I am very new to the whole topic of event listeners and event handlers.  I'd run the test for the following problem myself, but I don't know where to start, and I just want to know if it's impossible -- that is, if I'm misunderstanding what event listeners and event handlers do.
    Say I have an InDesign document with a text frame that is linked to an InCopy story.  Can I use an "afterImport" event listener on the text frame to perform some action any time the link to the InCopy story gets updated?  And will the event handler have access to both the story that is imported, and the pathname of the InCopy file?
    Thanks.

    Thank you, Kasyan.
    Both of those are good solutions.
    We are currently using InDesign CS4 and InCopy CS5.  I'm hoping to get them to purchase the whole CS5 suite soon, since I'd like to start writing scripts for InDesign CS5 as soon as possible, as long as I'm going to have to be doing it in the not too distant future anyway.  The greater variety of event handlers sounds like it might be something that is crucial to the project I'm working on, so that adds to the argument for getting CS5.
    Thanks again.  You have no idea how helpful this is.  I made some promises to my boss yesterday that I later realized were  based on assumptions of mine about the InDesign/InCopy system that didn't make any sense, and I was going  to have to retract my promises.  But after reading your response I think I can still deliver, in a slightly different way that I had been thinking before.
    Richard

  • OIM11 event handlers: How to avoid firing the same code in both pre+post

    Hi everyone,
    I have a question around event handlers. My experiments so far have gleaned the following:
    Manual updates of user form in admin interface -> Fires: pre-insert + Post-insert
    Reconciliation trusted creates -> Fires: Post-insert
    Reconciliation trusted updates -> Fires: pre-insert + Post-insert
    Now I have various handlers that trigger to update fields coming in from trusted recon. Formatting telephone numbers, setting custom user attributes.. etc. I am using the same code in both the post and pre handlers as wherever the update comes from it needs to be processed in the same way. Problem is if a handler fires twice I can't be sure exactly how the system is going to behave (updating the same field again etc), never mind it is unneeded processing.
    We have to keep the pre handlers because otherwise changes completed via the admin interface won't be seen until you refresh.
    Can anyone please advice how to go about ensuring a handler is only fired once? i.e. if pre fires don't fire post. Have I missed something key here?
    Edit: I know I've worded this badly. They will always fire as that's how OIM behaves, what I want is some way to work out in the underlying code if a field has already been modified in pre process... or something like it.
    Thanks,
    Wayne.
    Edited by: wblacklock on 27-Feb-2012 05:38

    I am sorry but I am not agree with your design.
    However there is no chance to avoid this according to my knowledge. As both class has separate thread under different process, so there is no way to implement thread lock on entity operation.
    Alternate way  to acheive your requirement:
    You can have hidden UDFs. Update hidden UDFs in prepost handler with some data (hardcoded).
    "You can have the value this hidden filed like :- "NAME_UPDATE|EMAIL_UPDATED|MANGER_UPDATE"
    Now in Post - Process handler check the value of hidden UDF.
    Get the value of hidden UDF, tokenize with String Tokenizer. Check which filed is not updated in Pre handler.
    *If it is already updated - do not update.* else Update.
    Thanks,
    Kuldeep

  • UIX/XML BC4J - Controlling page flow in event handlers

    We have an event handler that executes some data processing using bc4j tags, and need to redirect the flow to another page, based on the value of some parameters. For example, we have a checkbox Prepare for another insert, and we want to check for its state in the event handler to determine which page to display.
    We tried the following code
    UIX page event handler:
    <event name="saveEvent" >
         <bc4j:findRootAppModule name="TipoPunteggioViewAppModule" >
              <bc4j:findViewObject name="TipoPunteggioView" >
                   <bc4j:findRow name="CreateTipoPunteggioView" >
                        <bc4j:setPageProperty name="keyTipoPunteggio" >
                             <bc4j:stringKey />
                        </bc4j:setPageProperty>
                        <bc4j:setAttribute name="FlgObsoleto" />
                        <bc4j:setAttribute name="Firma" />
                        <bc4j:setAttribute name="TitTipoPunteggio" />
                        <bc4j:insertRow/>
                        <bc4j:commit/>
                        <bc4j:executeQuery/>
                        <ctrl:method class="com.websiteitalia.valutazioni.handlers.Handlers"
                             method="anotherInsertEventHandler" />
                   </bc4j:findRow>
              </bc4j:findViewObject>
         </bc4j:findRootAppModule>
    </event>
    Java method event handler:
    public static EventResult anotherInsertEventHandler(BajaContext bCtx,
                                       Page page,
                                       PageEvent event) {
         // AnotherInsert is the name of the checkbox on the page
    if ("on".equals(event.getParameter("AnotherInsert"))) {
              return new EventResult(page);
         } else {
              return new EventResult(new Page("ListPage"));
    When we return the same page, things work fine, but when we return another page we get an ArrayIndexOutOfBoundException. We have also noticed that if we return a simple page, without data scopes and bc4j tags, we get the correct result. We are probably wrong in the manner we do the redirect inside of a java event handler, because seems that the page we return is not completely processed.
    Can anyone explain the available techniques to control the page flow, using UIX XML tags or Java APIs alone or both of these together? For example, how can be replicated the <ctrl:go> behavior using Java APIs?

    The UIX page works correctly if loaded directly, the error takes place only when we redirect in this manner from a page that has a different application module / view object scopes. In fact, when we redirect to a page that have the same scopes of the first (or when the second page has not scopes at all the simple page) the error doesnt occur. Thats why we suppose that some step of the page rendering process arent executed correctly, it seems that the new page still finds some of the old page (the scopes)..
    To redirect to a page from a java event handler we have returned an event result with the next page (see above post for a code snippet), is this the correct way? Can we simulate the ctrl:go tag from the java code (with the redirect=true option)? There are any other?

  • 10g: Data Binding in event handlers?

    I'm trying to use data binding in my event handlers so that I can have a definitive source for the Strings that name things like this. I can see that the page is getting generated with the proper names on the elements in the page, but I always get an UnhandledEventException when I trigger the event. The idea is something like this:
            <submitButton text="Refresh" event="${ pageBean.controlRefreshEventName }" >
            </submitButton>
            <submitButton text="Hide Controls" event="${ pageBean.controlHideEventName }" >
            </submitButton>
        <handlers>
            <event name="${ pageBean.controlRefreshEventName }">
                <method class="com.avega.portlets.view.EventHandler"
                        method="handleControlFormSubmit"/>
            </event>
            <event name="${ pageBean.controlHideEventName }">
                <method class="com.avega.portlets.view.EventHandler"
                        method="handleControlFormSubmit"/>
            </event>
        </handlers>
    ...Now in my EventHandler I would be able to use the getXXXName methods when checking for which submit button was hit. Except I'm getting an exception instead.
    (BTW, I only have the two event tags because I wasn't sure how to concatenate the el expressions with a space...)

    No, there's no indication that anything is wrong until I cause the event and get the UnhandledEventException.
    However, I did the an experiment with the following tags, the first in a plain JSP, the second in a UIX page, and it seems that this is the normal way of handling a non-existant bean reference. Both cases printed 'text' in the page and did not complain that 'noBean' didn't exist. It seems you get an error when you reference a non-existant property on an existing bean, but no error if the bean itself doesn't exist. Anyway, UIX doesn't appear to be any different from JSP in this regard.
    <c:out value="${ noBean.noProperty } text" />
    <styledText text="${ noBean.noProperty } text" />

  • How to Deploy the Event Handlers OIM 11g

    Hi
    I have developed the code for post process event handler using OIM 11 G API. The OIM not invoking the EventHandlers while updating the users attribute or creating the users attribute.
    I have done the following task to develop and deploy the OIM 11g Event handlers. They are
    1) Implementing the PostProcessHandler interface and provide the implementation of execute method.
    Sample Class
    public class SamplePostProcessEventHandler implements PostProcessHandler {
         private Logger logger=Logger.getLogger("TEST-LOGGER");
         public SfsuPostProcessEventHandler()
              logger.debug("Invoking Event Handler Plugin");
         @Override
         public boolean cancel(long arg0, long arg1,
                   AbstractGenericOrchestration arg2) {
              // TODO Auto-generated method stub
              return false;
         @Override
         public void compensate(long arg0, long arg1,
                   AbstractGenericOrchestration arg2) {
              // TODO Auto-generated method stub
         @Override
         public EventResult execute(long processid, long eventid, Orchestration orchestration) {
              // TODO Auto-generated method stub
              logger.debug("Operation "+orchestration.getOperation());
              logger.debug("Parameters "+orchestration.getInterEventData());
              logger.debug("Parameters "+orchestration.getParameters());
              EventResult result=new EventResult();
              return result;
         @Override
         public BulkEventResult execute(long arg0, long arg1, BulkOrchestration arg2) {
              // TODO Auto-generated method stub
              return null;
         @Override
         public void initialize(HashMap<String, String> arg0) {
              // TODO Auto-generated method stub
    2) Create the Jar File SamplePostProcessEventHandler.jar
    3) Create the Plugin.xml file
    Sample File
    <?xml version="1.0" encoding="UTF-8"?>
    <oimplugins>
    <plugins pluginpoint="oracle.iam.platform.kernel.spi.EventHandler">
    <plugin pluginclass="test.eventhandlers.SamplePostProcessEventHandler" version="1.0" name="SamplePostProcessEventHandler">
    </plugin>
    </plugins>
    </oimplugins>
    4) Create the directory lib and copy the SamplePostProcessEventHandler.jar file into this directory
    5) Creating the Zip file with the following directory structure.
    plugin.xml
    lib/SamplePostProcessEventHandler.jar
    6) Register the plugin
    ant -f pluginregistration.xml register
    7) Creating the Custom Events xml file called EventHandlers.xml
    <?xml version='1.0' encoding='UTF-8'?>
    <eventhandlers>
    <action-handler class="test.eventhandlers.SamplePostProcessEventHandler" entity-type="User" operation="CREATE" name="SamplePostProcessEventHandler" stage="postprocess" order="LAST" sync="TRUE"/>
    <action-handler class="test.eventhandlers.SamplePostProcessEventHandler" entity-type="User" operation="MODIFY" name="SamplePostProcessEventHandler" stage="postprocess" order="LAST" sync="TRUE"/>
    </eventhandlers>
    8) Importing the Above XML into the MDS Schema Using the weblogicImportMetadata.sh file
    Directory Structure of the Event Handler Schema File
    /home/oracle/eventhandler/db/EventHandlers.xml
    weblogic.properties file parameters
    wls_servername=oim_server1
    application_name=oim
    metadata_from_loc=/home/oracle/eventhandler
    9) Finnally Running the PurgeCache.sh All
    10) Restarted the OIM Server.
    11) Testing
    I have logged into the OIM Admin Console >> Search the User > Update the First Name. The event handlers are not invoked any create or update operation. I am not able to see the log entries into the log file.
    My Log Entry Configuration.
    log File Configuration :
    /u01/app/wl-10.3.5.0/Oracle/Middleware/user_projects/domains/oim_domain/config/fmwconfig/servers/oim_server1/logging.xml
    <log_handler name='test-handler' level='FINEST' class='oracle.core.ojdl.logging.ODLHandlerFactory'>
    <property name='logreader:' value='off'/>
    <property name='path' value='/u01/app/wl-10.3.5.0/Oracle/Middleware/user_projects/domains/oim_domain/servers/oim_server1/logs/test-event.log'/>
    <property name='format' value='ODL-Text'/>
    <property name='useThreadName' value='true'/>
    <property name='locale' value='en'/>
    <property name='maxFileSize' value='5242880'/>
    <property name='maxLogSize' value='52428800'/>
    <property name='encoding' value='UTF-8'/>
    <logger name="TEST-LOGGER" level="FINEST" useParentHandlers="false">
    <handler name="test-handler"/>
    <handler name="console-handler"/>
    </logger>
    Is there anything is missing while deploying the event handlers.
    Help is Greatly appreciated.

    Change as per the following :
    1. Put the event hander in the /home/oracle/eventhandler /metadata/metadata directory and
    2. Change the following in the weblogic properties
    application_name=OIMMetadata
    metadata_from_loc to =/home/oracle/eventhandler/metadata
    This will work.

  • Tracking ID for different event handlers set

    In the following link i send the file with the image purpose:
    http://www.sendspace.com/file/cxbd8l
    Dear experts,
    We need to give Visibility for the next process, conformed by three visibility process, show more detailed in the following explanation:
    1. First Visibility process -> purchasing scenario
         Purchase Order -> Confirmation -> Goods Receipt -> Invoice Verification
    Note: In this scenario we need to modify the rule set (don´t include inbound delivery) and modify the standard functions (Create Z), of expected events and Goods receipt.
    2. Second Visibility process -> Stock transport order Scenario
    Stock transport order (PO) -> Outbound Delivery -> Shipment -> Goods receipt -> Invoice Verification (Planned delivery costs).
    Note: In this scenario we need to create a Z function to planned delivery costs and create the Z events according to the Planned delivery costs we want to control.
    3. Third Visibility process -> Second Stock transport order scenario
    Stock transport order (PO) -> Outbound Delivery -> Goods receipt -> Invoice Verification (Planned delivery costs).
    Note: In this scenario we need to create a Z function to planned delivery costs and create the Z events according to the Planned delivery costs we want to control.
    After this introduction, the question is how we can see an entire operation (the combination of the three scenarios), I mean, when we ingress to /SAPTRX/EH_LIST transaction, and execute this, the transaction show an event handler level (Same way /SAPTRX/EH_SET, event handler set level), but my grouping fields are according to Event handler (example: Bussines process type), but we don´t have a u201CProcess Unique IDu201D, that combine the different Application Object Types involved (In this process, PCM10_ITEM, TRA10_DELIV, TRA10_ROAD).
    In the following image I show an example of the point exposed (think in /SAPTRX/EH_LIST transaction):
    Appl.Obj.type             PROCESS UNIQUE ID
    PCM10_ITEM                123456
    TRA10_DELIV              123456
    TRA10_ROAD              123456
    Ok for do this; we expect to follow the next steps:
    1.     Define a field in the Tracking documents (Purchase order, Stock transport order, shipment and outbound delivery), where we ingress the same value (Process value ID) at the moment of execute the indicated transaction:
    a.     ME21N -> PO and stock transport order.
    b.     VT01N -> Shipment.
    c.     VL01N -> Outbound delivery.
    2.     Define a new Info Parameter both in the application system and in event management system.
    3.     Create Z function for expected event extractors and Info parameter Extractors (These functions have to look and save the info parameter defined previously).
    4.     Because this field doesn´t exist in any report, we think to create an enhancement in the /SAPTRX/EH_LIST transaction with the objective of don´t create a new report for only one new field (It require an ABAP program).
    According with this explanation, it´s correct our analysis? We forget any step to get our purpose?
    We appreciate a lot your help in this issue.

    Hello,
    Kevin thanks a lot by your answer, the question is how to associate three event handlers, but i don´t know about the number range, i appreciate a lot if you can explain to me more detailed, how i can define this number range and what tables has associated in order to define de Function module for "Control parameter extractor". I appreciate too if you can explain me how the system assign the same number in the three event handlers.
    According to this, I appreciate a lot if you confirm  to me, the followings steps that cover this requirement (I propose two different scenarios, the second scenario was adjusted after your explanation):
    SCENARIO 1 -> Using a custom number range.
    1. Define a custom number range.
    2. Define a new Control Parameter both in the application system and in event management system. Assign the control parameter to the list and create the event handler set.
    3. Create Z function for "expected event extractors" and "Control parameter Extractors" (These functions have to look and save the control parameter defined previously).
    4. In this case, cause its defined a common event handler set, we can execute the /SAPTRX/EH_SET transaction and look the operation consolidated.
    SCENARIO 2 -> Including information in one additional field in the ECC transactional documents
    1.     Define a field in the Tracking documents (Purchase order, Stock transport order, shipment and outbound delivery), where we ingress the same value (Control parameter) at the moment of execute the indicated transaction:
    a.     ME21N -> PO and stock transport order.
    b.     VT01N -> Shipment.
    c.     VL01N -> Outbound delivery.
    2. Define a new Control Parameter both in the application system and in event management system. Assign the control parameter to the list and create the event handler set (with relation type -> 2 control parameter).
    3. Create Z function for "expected event extractors" and "Control parameter Extractors" (These functions have to look and save the control parameter defined previously, in this case according with the extractor (PCM10_ITEM or TRA10_ROAD), the function has to find in the respective field in any case (it means in the PO its the field XXX in the shipment its the field YYY, but in event management the "control parameter" its the same).
    4. In this case, cause its defined a common event handler set, we can execute the /SAPTRX/EH_SET transaction and look the operation consolidated.
    According with this explanation, it´s correct my analysis? I forget any step to get our purpose?
    I appreciate a lot again your help in this issue.

  • Event handlers in a template file in uix

    Is it possible to define event handlers in a uix template file. I would like to define a global button kind of like the following code:
    <globalButton source="toolbar_icon_prefs.gif" text="My Profile"
    destination="UsersMyProfile_View.uix" event="event1" />
    I would probably remove the destination field and let the java program called by the event decide the destination.
    The event handler would need to not interfer with event handlers defined on individual pages.
    Thanks, Steve

    Sorry, Steve, but event handlers are not supported in templates.
    - Ryan

  • UiXML event handlers - how to define once across pages

    I have a number of event handlers which will be used by several of my pages. Is there a way of including the definitions in each of those pages having only defined them once?
    Cheers
    Ian

    The simplest approach is to override AbstractPageBroker.getEventHandler() - but
    that requires that the page broker have global knowledge of all your pages.
    So, what follows is a way to add a single element to any of your pages that will
    add event handlers (in this case, a single handler).
    It's a little less trivial than I'd assumed, but I've included here actual functional
    source code to implement the whole thing. This is a very, very silly example;
    it lets you add a single element to a page:
    <page xmlns="http://xmlns.oracle.com/uix/controller">
      <scream xmlns="http://www.example.org/scream"/>
    ...With this element, the "scream" event will be handled by, well, screaming.
    Silly, yes; but it demonstrates the technique. Exactly the same technique
    would also let you execute code immediately before and/or immediately after
    a page renders (e.g., automatically register data providers). Here's the code;
    it's four classes, but they're all small.
    ScreamUIExtension[b]
    package scream;
    import oracle.cabo.ui.UIExtension;
    import oracle.cabo.ui.laf.LookAndFeel;
    import oracle.cabo.share.xml.ParserManager;
    public class ScreamUIExtension implements UIExtension
      public void registerSelf(ParserManager manager)
        manager.registerExtension("http://www.example.org/scream",
                                  new ScreamParserExtension());
      public void registerSelf(LookAndFeel laf)
    }[b]ScreamParserExtension
    package scream;
    import java.util.Dictionary;
    import org.xml.sax.Attributes;
    import oracle.cabo.share.xml.BaseParserExtension;
    import oracle.cabo.share.xml.LeafNodeParser;
    import oracle.cabo.share.xml.NodeParser;
    import oracle.cabo.share.xml.ParseContext;
    import oracle.cabo.servlet.ui.UINodePageDescription;
    public class ScreamParserExtension extends BaseParserExtension
      public NodeParser startExtensionElement(
        ParseContext context,
        String       namespaceURI,
        String       localName,
        Attributes   attrs)
        if ("scream".equals(localName))
          return new LeafNodeParser()
            protected Object getNodeValue(
              ParseContext context,
              String       namespaceURI,
              String       localName,
              Attributes   attrs)
              return "This doesn't matter in this example...";
        return null;
      public Object elementEnded(
        ParseContext context,
        String       namespaceURI,
        String       localName,
        Object       parsed,
        Dictionary   attributes)
        Object value = attributes.get("scream");
        if (value == null)
          return parsed;
        if (!(parsed instanceof UINodePageDescription))
          logWarning(context,
                     "The \"scream\" elements may only be used inside of <page>");
          return parsed;
        return new ScreamPageDescription((UINodePageDescription) parsed);
    ScreamPageDescription
    package scream;
    import oracle.cabo.servlet.ui.UINodePageDescription;
    import oracle.cabo.servlet.ui.UINodePageDescriptionProxy;
    import oracle.cabo.servlet.BajaContext;
    import oracle.cabo.servlet.event.EventHandler;
    import oracle.cabo.servlet.event.TableEventHandler;
    public class ScreamPageDescription extends UINodePageDescriptionProxy
      public ScreamPageDescription(UINodePageDescription uinpd)
        _uinpd = uinpd;
      public EventHandler getEventHandler(BajaContext context)
        TableEventHandler teh = new TableEventHandler();
        teh.registerEventHandler("scream", new ScreamEventHandler());
        teh.setDefaultEventHandler(getPageDescription().getEventHandler(context));
        return teh;
      protected UINodePageDescription getPageDescription()
        return _uinpd;
      private final UINodePageDescription _uinpd;
    ScreamEventHandler
    package scream;
    import oracle.cabo.servlet.BajaContext;
    import oracle.cabo.servlet.Page;
    import oracle.cabo.servlet.event.EventHandler;
    import oracle.cabo.servlet.event.EventResult;
    import oracle.cabo.servlet.event.PageEvent;
    public class ScreamEventHandler implements EventHandler
      public EventResult handleEvent(
        BajaContext   context,
        Page          page,
        PageEvent     event)
        System.out.println("SCREAM!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
        return null;
    }Now, to register these, you'll want a WEB-INF/uix-config.xml like so:
    <configurations xmlns="http://xmlns.oracle.com/uix/config">
      <application-configuration>
        <ui-extensions>
          <extension-class>scream.ScreamUIExtension</extension-class>
        </ui-extensions>
      </application-configuration>
    </configurations>If you did want to add pre- or post-rendering code, just override
    different methods inside your PageDescription class.
    Final note: all of this should work unmodified in 9.0.2 except for
    the uix-config.xml; you'd have to use the older, deprecated WEB-INF/web.xml
    UIX configuration parameters in 9.0.2.

  • Evaluating FXG files - possible to access elements and add event handlers?

    I would like to read an existing FXG file into flash builder and then datamine the file for elements, and add event handlers to those elements.
    For instance, if I have two rectangles in an FXG file (not in the flash builder mxml) and then read it in, I'd like to search for every rectangle and add an event handler that detects a mouse click. If the FXG code changes to three rectangles, I don't want to change my mxml for flash builder.
    Is this possible?

    I'm seeing a pretty tragic death using the following, where theDiagram.fxg is in the assets directory. Does <Graphic> map to a SpriteVisualElement, or is the <Graphic> composed of SpriteVisualElements?
    import assets.theDiagram;
    private var fxgCls:Class = theDiagram as Class;
    private var fxgElement:SpriteVisualElement = new fxgCls() as SpriteVisualElement;
    TypeError: Error #1009: Cannot access a property or method of a null object reference.
    at mx.core::UIComponent/http://www.adobe.com/2006/flex/mx/internal::updateCallbacks()[E:\dev\4.x\frameworks\projec ts\framework\src\mx\core\UIComponent.as:7093]
    at mx.core::UIComponent/set nestLevel()[E:\dev\4.x\frameworks\projects\framework\src\mx\core\UIComponent.as:3986]
    at spark.core::SpriteVisualElement/http://www.adobe.com/2006/flex/mx/internal::addingChild()[E:\dev\4.x\frameworks\projects\s park\src\spark\core\SpriteVisualElement.as:2106]
    at spark.core::SpriteVisualElement/addChild()[E:\dev\4.x\frameworks\projects\spark\src\spark \core\SpriteVisualElement.as:2070]
    at assets::theDiagram_Text_16710627/createText()
    at assets::theDiagram_Text_16710627()
    at flash.display::Sprite/constructChildren()
    at flash.display::Sprite()
    at flash.display::MovieClip()
    at flash.display::Sprite/constructChildren()
    at flash.display::Sprite()
    at flash.display::MovieClip()
    at flash.display::Sprite/constructChildren()
    at flash.display::Sprite()
    at flash.display::MovieClip()
    at flash.display::Sprite/constructChildren()
    at flash.display::Sprite()
    at flash.display::MovieClip()
    at flash.display::Sprite/constructChildren()
    at flash.display::Sprite()
    at flash.display::MovieClip()
    at flash.display::Sprite/constructChildren()
    at flash.display::Sprite()
    at mx.core::FlexSprite()[E:\dev\4.x\frameworks\projects\framework\src\mx\core\FlexSprite.as: 61]
    at spark.core::SpriteVisualElement()[E:\dev\4.x\frameworks\projects\spark\src\spark\core\Spr iteVisualElement.as:87]
    at assets::theDiagram()[assets/theDiagram-generated.as:10]
    at SpecViewer()[SpecViewer.mxml:22]
    at _SpecViewer_mx_managers_SystemManager/create()
    at mx.managers.systemClasses::ChildManager/initializeTopLevelWindow()[E:\dev\4.x\frameworks\ projects\framework\src\mx\managers\systemClasses\ChildManager.as:304]
    at mx.managers::SystemManager/initializeTopLevelWindow()[E:\dev\4.x\frameworks\projects\fram ework\src\mx\managers\SystemManager.as:2810]
    at mx.managers::SystemManager/http://www.adobe.com/2006/flex/mx/internal::kickOff()[E:\dev\4.x\frameworks\projects\frame work\src\mx\managers\SystemManager.as:2637]
    at mx.managers::SystemManager/http://www.adobe.com/2006/flex/mx/internal::preloader_completeHandler()[E:\dev\4.x\framewo rks\projects\framework\src\mx\managers\SystemManager.as:2539]
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at mx.preloaders::Preloader/timerHandler()[E:\dev\4.x\frameworks\projects\framework\src\mx\p reloaders\Preloader.as:515]
    at flash.utils::Timer/_timerDispatch()
    at flash.utils::Timer/tick()

  • Do I need to worry about these event handlers in a grid from a memory leak perspective?

    I'm pretty new to Flex and coudn't figure out how to add event handlers to inline item renderer components from the containing file script so I attached the listnerers simply as part of the components themselves (eg <mx:Checkbox ... chnage="outerDocument.doSomething(event)"../>):
    <mx:DataGrid id="targetsGrid" width="100%" height="100%" doubleClickEnabled="true" styleName="itemCell"
          headerStyleName="headerRow" dataProvider="{targets}"
          rowHeight="19" fontSize="11" paddingBottom="0" paddingTop="1">
         <mx:columns>
         <mx:DataGridColumn width="78" dataField="@isSelected" headerText="">
         <mx:itemRenderer>
              <mx:Component>
                   <mx:HBox width="100%" height="100%" horizontalAlign="center">
                        <mx:CheckBox id="targetCheckBox" selected="{data.@isSelected == 'true'}"
                             change="outerDocument.checkChangeHandler(event);"/>
                        <mx:Image horizontalAlign="center" toolTip="Delete" source="@Embed('/assets/icons/delete.png')" useHandCursor="true" buttonMode="true"
                             click="outerDocument.deleteHandler(event);"/>
                        <mx:Image id="editButton" horizontalAlign="center" toolTip="Edit" source="@Embed('/assets/icons/edit-icon.png')" useHandCursor="true" buttonMode="true"
                             click="outerDocument.editHandler(event);"/>
                   </mx:HBox>
              </mx:Component>
         </mx:itemRenderer>
         </mx:DataGridColumn>
              <mx:DataGridColumn id="Name" dataField="@collectionDesc" headerText="Name" itemRenderer="com.foobar.integrated.media.ui.component.CellStyleForTargetName"/>
              <mx:DataGridColumn id="Created" width="140" dataField="@createDateTime" headerText="Created"  labelFunction="UiHelper.gridDateFormat" />
         </mx:columns>
    </mx:DataGrid>
    This grid is part of a view that will get destroyed and recreated potentially many times during a user's session within the application (there's a large dynamic nature to the app and views are created at run-time.) By destroyed I mean that the view that holds the above datagrid will no longer be referenced under certain circumstances and an entire new view object is created (meaning the old datagrid is no longer refernced and a new one is created.)
    I heard you should clean up event handlers when they are no longer used, and I know at what point the view is destroyed, but I don't know how to clean up the event handlers added to the item renderer components? Is it something that the Flex garbage collector will handle efficiently?
    Also, on a somewhat related note, how could I push the item renderer to an external component since in my event handlers for the item renderer buttons I need a reference to the datagrid.selectedIndex which, as an external item renderer I wouldn't have access to this containing grid?

    No. You don't need explicit cleanup in this case: if your outerDocument is going away, you have nothing to worry about. The event handler leak can happen in sort of the reverse situation: suppose you have a long-lived MyView that contains a custom DataGrid like the one below. Now suppose that MyView frequently destroys and re-creates the grid. And suppose that on its creationComplete event, the grid registers a listener for outerDocument's (MyView's) enterFrame Event. Unless you explicitly remove this listener, MyView will still have a reference to it even after the grid that registered the listener is destroyed (and garbage collected).
    This is a pretty contrived example, but it sort of illustrates the potential for leaks: a certain component is elligible for garbage collection, but some longer-lived component holds a reference to it (or part of it, such as a listener function). If the longer-lived component is elligible for GC as well, you don't really need to worry about proper cleanup. That's what you're paying the GC processor cycles for.

  • Unable to Create Event handlers , Plugs

    Hello everyone,
    We've just moved to a new development environment and had our existing WebUI enhancements transported from an old one (which was CRM 7.0 EHP1). The new system was also already in EHP1.
    The problem is we couldn't create any new Event Handlers and Inbound and Outbound plugs in an enhanced component via BSP_WD_CMPWB. Even though the component has already been enhanced, the system keeps on asking for an Access Key to edit SAP Standard objects and behaving as though the component hasn't been enhanced at all.
    Has anyone encountered this before? Any SAP OSS Note to fix the problem?

    Hello,
    Thanks for your replies, the issue has been solved. When the enhancements were transported into the new system the database entries used by the enhancement wizards weren't included into the transport. Basically we had to update the ff tables:
    BSP_WD_GEN -> Table with generated classes
    BSP_WD_EXT_HIST -> Mapping Table source controller class to  Z controller class, and source context class to Z context class

  • How to expose and code the event handlers of a base class?

    I have created a class that inherits NumericUpDown. When I instantiate an object from that class, I can make it visible and have it appear on my form just like any other NUD. How can I get that instantiated object to expose the event handlers of its base
    class, the NUD in this case, so that, for example, I can tell the client what action to take when the value of the instantiated object changes?
    Thanks for your help.

    I am not sure exactly what you mean.  Are you adding your NUD controls to the Form at design time from the toolbox or adding them in code at run time?  If you are adding them to the form from the toolbox then you access the events the same way
    you would a standart NUD control.   If it is at runtime and you have a fixed amount of them you are going to add then you can declare them Class Scoped using the
    WithEvents keyword which will let you access all their events.
    Public Class Form1
    Private WithEvents Nud1 As New NUD
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Me.Controls.Add(Nud1)
    End Sub
    Private Sub Nud1_ValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Nud1.ValueChanged
    Me.Text = Nud1.Value.ToString
    End Sub
    End Class
    Public Class NUD
    Inherits NumericUpDown
    'Your custom code to make it work how you want...
    End Class
     If this is not what you are doing then you may need to explain a bit more and show the code you are using so we understand better.
    If you say it can`t be done then i`ll try it

  • Help with Event Handlers with Scope

    I have a question of how I must implement the event handlers with scope, I have problems in the execution of processes BPEL (they are generating exceptions in the dehydration)
    I have two models for event handlers and I need to know which is the best way to implement event handlers.
    Another question is, in what it influences the "variableAccessSerializable" attribute.
    Thanks!
    1) Event Handlers with PartnerLink invocation OUTSIDE Scope
    <invoke name="Invoke_1" partnerLink="PartnerLink1"/>
    <scope name="Scope_1" variableAccessSerializable="yes">
    <eventHandlers>
    <onMessage partnerLink="PartnerLink1"/>
    <onAlarm/>
    </eventHandlers>
    <sequence name="Sequence_1">
    </sequence>
    </scope>
    2) Event Handler with PartnerLink invocation INSIDE scope
    <scope name="Scope_1" variableAccessSerializable="yes">
    <eventHandlers>
    <onMessage partnerLink="PartnerLink1"/>
    <onAlarm/>
    </eventHandlers>
    <sequence name="Sequence_1">
    <invoke name="Invoke_1" partnerLink="PartnerLink1"/>
    </sequence>
    </scope>

    Thanks -- indeed a crucial call might be missing. I was doing
    this until 3 yesterday morning.
    Would this be the correct sample code to use? :
    http://livedocs.macromedia.com/flash/mx2004/main_7_2/wwhelp/wwhimpl/common/html/wwhelp.htm ?context=Flash_MX_2004&file=00000846.html
    It seems to work (although someone cautions in the page
    comments that it doesn't).
    Part of my trouble in working with AS 2.0 is that I feel I
    shouldn't have to do such complicated things (Delegate classes,
    etc) in order to get simple things done (loading XML files). This
    is not a complaint per se -- rather I feel that I must be missing
    something, that it is my inexperience that is causing me to bend
    through so many hoops: programming "should" be elegant and simple.
    So, any links helpful. Thanks.

  • Problems with .chart-plot-background and event handlers

    Hello. I'm trying to add event handlers to my chart so that the user can be allowed click within the chart itself to perform certain actions like dragging, zooming, etc. To avoid having to deal with handling mouse clicks that lie outside the chart itself (for example on the axes), I've found that:
    .chart-plot-background
    is the Region that gives me the entire chart and nothing else. However, when I attach mouse listeners to this Region, the event is only registered on half of the cells in the chart. If you've seen the default JavaFX Chart background layout, you know that it contains alternating rows of cells with slightly different coloring. I've found that only the rows with the lightest gray coloring actually register a mouse click on them, which makes me believe the dark grey cells are not part of the .chart-plot-background, but something else on top.
    To me, this feels like an oversight in how the regions of the chart are defined. Why can I not get a listener to work on the whole chart and nothing else? Currently the only workaround seems to be to take the Region:
    .chart-content
    instead, and compute the difference between this region and the .chart-plot-background in order to manually suppress mouse clicks that lie outside .chart-plot-background.
    Anyone have suggestions? Is this worth issuing on the JavaFX Jira?

    Hello,
    I'm not an expert on controls, but here is my guess based on your description: when you register an event handler on a "background" node, it is called only when the mouse hovers over the background node - I suppose the light gray is the background with the light gray cells being transparent and dark grey cells being filled. So the behavior seems correct - you can't expect the events to be delivered to background when it is covered by other nodes. I think you really should register the handler on the entire chart and filter out the events you don't want to handle. This however should not require much of computing the difference between the regions, it should be possible to do just something like
    if (!background.contains(event.getX(), event.getY())) {
        return;
    Provided that the background doesn't reach under the axes as well. Note that if there are any different transforms between the background and the node with the handler registered on it, you may need to recompute the coordinates by
    background.sceneToLocal(event.getSceneX(), event.getSceneY());
    And use the contains method on that.

Maybe you are looking for

  • "Type mismatch" error in IE7/8 when using custom Actions Menu Image

    Hi all, in APEX 4.2: when using a custom image in the "Actions Menu Image" attribute in an interactive report, I get a "Type mismatch" error in IE7/8 when refreshing the report through PPR (filtering, sorting, paginating etc.). When I leave the "Acti

  • JDBC Adapter Installation in PI 7.3

    Hi All, Could any one help me how to install JDBC ADAPTERS in PI 7.3 . Please provide the related links. MY SERVER DETAILS. Database system      MSSQL  Release                     10.00.253      DB client lib.               SQL_Server_9.00 Operating

  • Rollover video

    Greetings: Earlier, I posted this question and apparently it got lost in this forum. In Dreamweaver 8, I wish to create a link that I can simply roll my Mouse over without clicking, to get to a video to pop-up. Is this possible, and how so? Any answe

  • I have my receipt of sale but can get the app on my ipad. The first update cause all kind of problems for me. May I have some help please?

    I have been trying for three months now and still can not get Goodreader back on my ipad. All the suggestions are not working. The last one I tried was to restore my ipad.

  • DropDownByIndex selection

    Hello everybody! There is any simple way to select de DropDownByIndex item based on the RFC result? I'll explain... For example: I ve got a Customer sign up, where the client must to choice the Region in a DropDownByIndex object ( provided by a RFC )