Column chart dataprovider null object refrerence #1009

hi
i have one column chart whose data provider initially is set to httpservice's lastresult . i have created one function to load chart with new data on one button click. when i click that button the chart should be loaded with new data so i have written in click function of button.... chart.dataprovider=gettdata.lastresult.people.person;..... but when i run the code and click the button i gives the error
TypeError: Error #1009: Cannot access a property or method of a null object reference...... but when i again click dismiss button of error and click the button to get new data the chart gets loaded with new data........
i am using flexlib's mdIWINDOW as parent of column chart... please help

Thanks Arthur.
Your first suggestion is effectively what I'm doing as a
workaround. But it is a bit of a pain to have to account for this
each time when displaying a chart. It's a particular problem when
you don't know in advance what "categories" might be returned by
the data and that have to be charted.
My biggest concern is that this looks like a bug, and the
fact that it seems to occur intermittently is a bit worrying. (I
also know that eight out of ten reported "bugs" are user error,
which is why I was wondering if anyone else had experienced this.)
About your second suggestion, I think the interpolateValues
property only applies to lineSeries.

Similar Messages

  • Column chart with null data items

    I have a Column Chart with an ArrayCollection data provider.
    The data will sometimes have missing items in some "rows'. For
    example, it might look like this where the second object has no
    "Male" property:
    public var myData:ArrayCollection = new ArrayCollection([
    {School: "Priorford", All: 95, Male: 92, Female: 98},
    {School: "Giffnock", All: 87, Female: 89},
    {School: "Hastings", All: 80, Male: 78, Female: 82}
    Sometimes I get the following error:
    TypeError: Error #1009: Cannot access a property or method of
    a null object
    reference.
    at mx.charts.chartClasses::NumericAxis/mapCache()
    I'm assuming the error is because of missing data items, but
    I'm not 100% sure. Some data sets with missing items will display
    with no error. I can't see a pattern to those that don't.
    -- I can't produce the error when using a "static" data
    source set in the Flex app itself (such as the example above).
    These always display correctly, even with missing items.
    -- In the problem case, the source data comes from a MySQL
    database through a PHP script that is called with a Flex
    httpService. The returned data is parsed in Flex, and put into the
    ArrayCollection. I was suspecting that the returned data was flawed
    in some way, but the same ArrayCollection displays correctly in a
    DataGrid. The problem is only with the Chart.
    -- I can work round the problem by adding the missing
    properties and setting them to an empty value. But I don't think I
    should have to do this.
    Has anyone seen this problem, or know of any obvious thing I
    might be doing wrong.

    Thanks Arthur.
    Your first suggestion is effectively what I'm doing as a
    workaround. But it is a bit of a pain to have to account for this
    each time when displaying a chart. It's a particular problem when
    you don't know in advance what "categories" might be returned by
    the data and that have to be charted.
    My biggest concern is that this looks like a bug, and the
    fact that it seems to occur intermittently is a bit worrying. (I
    also know that eight out of ten reported "bugs" are user error,
    which is why I was wondering if anyone else had experienced this.)
    About your second suggestion, I think the interpolateValues
    property only applies to lineSeries.

  • Id column values for null objects

    If I have something like the following, where B.id is mapped to an INTEGER
    column in A's table, Kodo wants to store a NULL value into the column. This
    doesn't work if the column is specified as NOT NULL. Is there a way to
    configure Kodo to use some predefined integer value instead, such as 0
    or -1?
    class A {
    int id;
    B b;
    class B {
    int id;
    A a = new A();
    a.id = 123;
    a.b = null;
    pm.makePersistent(a);
    pm.currentTransaction().commit();

    I'm not sure what you mean by "value mapping." In my case, I am mapping a
    null reference to another object. I am using application identity. Here's a
    more complete example (still very abbreviated, but hopefully complete
    enough):
    class A {
    static class Id { int id; }
    int id;
    B b;
    class B {
    static class Id { int id; }
    int id;
    int value;
    create table A (ID integer not null, BID integer not null)
    create table B (ID integer not null, VALUE integer)
    <jdo>
    <package name="test">
    <class name="A" objectid-class="A$Id">
    <extension vendor-name="kodo" key="table" value="A"/>
    <field name="id" primary-key="true">
    <extension vendor-name="kodo" key="data-column" value="ID"/>
    </field>
    <field name="b">
    <extension vendor-name="kodo" key="id-data-column" value="BID"/>
    </field>
    </class>
    <class name="B" objectid-class="B$Id">
    <extension vendor-name="kodo" key="table" value="B"/>
    <field name="id" primary-key="true">
    <extension vendor-name="kodo" key="data-column" value="ID"/>
    </field>
    <field name="value">
    <extension vendor-name="kodo" key="data-column" value="VALUE"/>
    </field>
    </class>
    </package>
    </jdo>
    A a1 = new A();
    a1.id = 123;
    a1.b = new B();
    a1.b.id = 456;
    a1.b.value = 999;
    pm.makePersistent(a1);
    A a2 = new A();
    a2.id = 789;
    a1.b = null;
    pm.makePersistent(a2);
    pm.currentTransaction().commit();
    The inserts for table A look something like this:
    insert into A (ID, BID) values (123, 456)
    insert into B (ID, VALUE) values (456, 999)
    insert into A (ID, BID) values (789, NULL)
    The NULL value fails because the column is specified as NOT NULL
    (pre-existing schema scenario).
    What I need to be able to do is specify what value gets inserted for null
    object references. Kodo is inserting NULL. I need to insert -1.

  • Null object reference error in Axis Renderer in Case of Stacked Column Chart

    We are trying to display a Flex Column chart (when stacked ) with single value in DataProvider but we used to get following error:
    TypeError: Error #1009: Cannot access a property or method of a null object reference.
    at mx.charts::AxisRenderer/calcStaggeredSpacing()[C:\Work\flex\dmv_automation\projects\datav isualisation\src\mx\charts\AxisRenderer.as:2195]
    at mx.charts::AxisRenderer/calcRotationAndSpacing()[C:\Work\flex\dmv_automation\projects\dat avisualisation\src\mx\charts\AxisRenderer.as:1586]
    at mx.charts::AxisRenderer/adjustGutters()[C:\Work\flex\dmv_automation\projects\datavisualis ation\src\mx\charts\AxisRenderer.as:1326]
    at mx.charts::AxisRenderer/set gutters()[C:\Work\flex\dmv_automation\projects\datavisualisation\src\mx\charts\AxisRender er.as:798]
    at mx.charts.chartClasses::CartesianChart/updateAxisLayout()[C:\Work\flex\dmv_automation\pro jects\datavisualisation\src\mx\charts\chartClasses\CartesianChart.as:2028]
    at mx.charts.chartClasses::CartesianChart/updateDisplayList()[C:\Work\flex\dmv_automation\pr ojects\datavisualisation\src\mx\charts\chartClasses\CartesianChart.as:1355]
    at mx.core::UIComponent/validateDisplayList()[C:\autobuild\galaga\frameworks\projects\framew ork\src\mx\core\UIComponent.as:6351]
    at mx.managers::LayoutManager/validateDisplayList()[C:\autobuild\galaga\frameworks\projects\ framework\src\mx\managers\LayoutManager.as:622]
    at mx.managers::LayoutManager/doPhasedInstantiation()[C:\autobuild\galaga\frameworks\project s\framework\src\mx\managers\LayoutManager.as:695]
    at Function/http://adobe.com/AS3/2006/builtin::apply()
    at mx.core::UIComponent/callLaterDispatcher2()[C:\autobuild\galaga\frameworks\projects\frame work\src\mx\core\UIComponent.as:8733]
    at mx.core::UIComponent/callLaterDispatcher()[C:\autobuild\galaga\frameworks\projects\framew ork\src\mx\core\UIComponent.as:8673]
    at flash.utils::Timer/_timerDispatch()
    at flash.utils::Timer/tick()
    We have invested so much effort and done lots of googling and also followed the work around given on https://bugs.adobe.com/jira/browse/FLEXDMV-2275 but till now, we didn't get any solution.

    I solved the issue by getting rid of the creationCompleteHandler event handlers for the KPI charts. But, since I am just days into flex development, I would be indebted if someone could explain to me why that was creating problems.

  • Module Chart component Error #1009: Cannot access a property or method of a null object reference

    Is there a known bug when displaying a chart component that is defined in a module. When attempting to display a chart component defined in a module it crashes indicating Error #1009: Cannot access a property or method of a null object reference.
    It crashes at the following location in ChartBase.as. Somehow when loading the chart the  styleManager.getStyleDeclaration("mx.charts.chartClasses.ChartBase"); returns null so when using the setStyle methods the exception occurs.
    private function initStyles():Boolean
            HaloDefaults.init(styleManager);
      var chartBaseStyle:CSSStyleDeclaration = styleManager.getStyleDeclaration("mx.charts.chartClasses.ChartBase");
      chartBaseStyle.setStyle("chartSeriesStyles", HaloDefaults.chartBaseChartSeriesStyles);
      chartBaseStyle.setStyle("fill", new SolidColor(0xFFFFFF, 0));
      chartBaseStyle.setStyle("calloutStroke", new SolidColorStroke(0x888888,2));
            return true;
    Added note: There is a chart component in the application that works fine.  The only way I can get  the chart in the module to display is to add the following workaround preinitializer but it severly impacts the loading of the module. Is there a way around this.
    protected function preinitializeHandler(event:FlexEvent):void
       var styleObjects:Array = FlexGlobals.topLevelApplication.styleManager.selectors;
       for each(var styleObj:String in styleObjects)  {
        var style:CSSStyleDeclaration = FlexGlobals.topLevelApplication.styleManager.getStyleDeclaration(styleObj);
        styleManager.setStyleDeclaration(styleObj, style, true);   
    TypeError: Error #1009: Cannot access a property or method of a null object reference.
    at mx.charts.chartClasses::ChartBase/initStyles()[E:\dev\4.y\frameworks\projects\charts\src\ mx\charts\chartClasses\ChartBase.as:1862]
    at mx.charts.chartClasses::ChartBase/set moduleFactory()[E:\dev\4.y\frameworks\projects\charts\src\mx\charts\chartClasses\ChartBas e.as:1894]
    at mx.charts.chartClasses::PolarChart/set moduleFactory()[E:\dev\4.y\frameworks\projects\charts\src\mx\charts\chartClasses\PolarCha rt.as:223]
    at mx.charts::PieChart/set moduleFactory()[E:\dev\4.y\frameworks\projects\charts\src\mx\charts\PieChart.as:203]
    at spark.components::Group/http://www.adobe.com/2006/flex/mx/internal::elementAdded()[E:\dev\4.y\frameworks\projects\spark\src\spark\components\Group.as:1590]
    at spark.components::Group/addElementAt()[E:\dev\4.y\frameworks\projects\spark\src\spark\com ponents\Group.as:1387]
    at spark.components::SkinnableContainer/addElementAt()[E:\dev\4.y\frameworks\projects\spark\ src\spark\components\SkinnableContainer.as:775]
    at mx.states::AddItems/addItemsToContentHolder()[E:\dev\4.y\frameworks\projects\framework\sr c\mx\states\AddItems.as:782]
    at mx.states::AddItems/apply()[E:\dev\4.y\frameworks\projects\framework\src\mx\states\AddIte ms.as:563]
    at mx.core::UIComponent/applyState()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UI Component.as:10741]
    at mx.core::UIComponent/commitCurrentState()[E:\dev\4.y\frameworks\projects\framework\src\mx \core\UIComponent.as:10487]
    at mx.core::UIComponent/setCurrentState()[E:\dev\4.y\frameworks\projects\framework\src\mx\co re\UIComponent.as:10323]
    at mx.core::UIComponent/set currentState()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:6425]
    at BloodPressure/bloodpressureDg_selectionChangeHandler()[C:\Users\Mark\Adobe Flash Builder 4.7\BiometricsFlexProject\src\BloodPressure.mxml:311]
    at BloodPressure/__bloodpressureDg_selectionChange()[C:\Users\Mark\Adobe Flash Builder 4.7\BiometricsFlexProject\src\BloodPressure.mxml:41]
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at mx.core::UIComponent/dispatchEvent()[E:\dev\4.y\frameworks\projects\framework\src\mx\core \UIComponent.as:13152]
    at spark.components::DataGrid/commitInteractiveSelection()[E:\dev\4.y\frameworks\projects\sp ark\src\spark\components\DataGrid.as:3634]
    at spark.components::DataGrid/setSelectionAnchorCaret()[E:\dev\4.y\frameworks\projects\spark \src\spark\components\DataGrid.as:4210]
    at spark.components::DataGrid/grid_mouseDownHandler()[E:\dev\4.y\frameworks\projects\spark\s rc\spark\components\DataGrid.as:4679]
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at mx.core::UIComponent/dispatchEvent()[E:\dev\4.y\frameworks\projects\framework\src\mx\core \UIComponent.as:13152]
    at spark.components::Grid/dispatchGridEvent()[E:\dev\4.y\frameworks\projects\spark\src\spark \components\Grid.as:4038]
    at spark.components::Grid/grid_mouseDownDragUpHandler()[E:\dev\4.y\frameworks\projects\spark \src\spark\components\Grid.as:3883]
    at Function/<anonymous>()[E:\dev\4.y\frameworks\projects\spark\src\spark\utils\MouseEventUti l.as:84]
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at mx.managers::SystemManager/mouseEventHandler()[E:\dev\4.y\frameworks\projects\framework\s rc\mx\managers\SystemManager.as:2918]

    It appears as though this error has been going on for a while. See the following link http://forums.adobe.com/thread/941849

  • DataGrid - Error #1009: Cannot access a property or method of a null object reference.

    I am getting a runtime error when I click a button that fires
    the addPerson function.
    TypeError: Error #1009: Cannot access a property or method of
    a null object reference.
    at main/addPerson()[C:\Documents and Settings\edunn\My
    Documents\Flex Builder 3\workspace2\Test-1\src\main.mxml:178]
    at main/___main_Button4_click()[C:\Documents and
    Settings\edunn\My Documents\Flex Builder
    3\workspace2\Test-1\src\main.mxml:228]
    I am new to Action Script - and object programming - so
    understand...
    I do not understand what I have done wrong here...
    I have a result list coming from an external web service that
    populates in a datagrid. I'd like to be able to update that
    datagrid and then push back to the web service the new array.
    Any ideas?????
    import mx.rpc.events.ResultEvent;
    import mx.rpc.events.FaultEvent;
    import mx.collections.ArrayCollection;
    import generated.webservices.FxAppiaUserFeaturesService;
    import generated.webservices.UserSimRingConfig;
    import generated.webservices.SimRingType;
    public var plist:ArrayCollection
    //Updated Function to populate the data from WS
    public function
    retrieveUserSimRingConfig(e:ResultEvent):void {
    var UsrSimRngCfgNumList:Array = new
    UserSimRingConfig().simRingNumberList;
    var plist:ArrayCollection = e.result.simRingNumberList;
    dgSimPhoneList.dataProvider = plist;
    if (e.result.active) {
    chboxSimultaneousRingPhones.selected=true;
    } else {
    chboxSimultaneousRingPhones.selected=false;
    if (e.result.simRingType == "NO_RING_WHILE_ONCALL") {
    chboxSimultaneousRing.selected=true;
    } else {
    chboxSimultaneousRing.selected = false;
    // Add a person to the ArrayCollection.
    public function addPerson():void {
    plist.addItem({simRingNumberList:txtPhoneNumber1.text});
    I posted this in the General Section first by
    mistake...

    can u explain abt this line
    var plist:ArrayCollection = e .
    result.simRingNumberList;

  • TypeError: Error #1009: Cannot access a property or method of a null object reference.

    Hi all,
    I am new to ActionScript and Flash, and I am getting this error: TypeError: Error #1009: Cannot access a property or method of a null object reference.
    at jessicaclucas_fla::MainTimeline/stopResumescroll()
    I have several different clips in one movie that have scrolling content. When I click a button to move to a different clip that doesn’t have a certain scroll, it gives me this error. I cannot figure out how to fix this. You can see the site I am working on: http://www.jessicaclucas.com. I would really appreciate some help! Thank you in advance. Here is the code:
    //Import TweenMax and the plugin for the blur filter
    import gs.TweenMax;
    import gs.plugins.BlurFilterPlugin;
    //Save the content’s and mask’s height.
    //Assign your own content height here!!
    var RESUMECONTENT_HEIGHT:Number = 1500;
    var RESUME_HEIGHT:Number = 450;
    //We want to know what was the previous y coordinate of the content (for the animation)
    var oldResumeY:Number = myResumecontent.y;
    //Position the content on the top left corner of the mask
    myResumecontent.x = myResume.x;
    myResumecontent.y = myResume.y;
    //Set the mask to our content
    myResumecontent.mask = myResume;
    //Create a rectangle that will act as the Resumebounds to the scrollMC.
    //This way the scrollMC can only be dragged along the line.
    var Resumebounds:Rectangle = new Rectangle(resumescrollMC.x,resumescrollMC.y,0,450);
    //We want to know when the user is Resumescrolling
    var Resumescrolling:Boolean = false;
    //Listen when the user is holding the mouse down on the scrollMC
    resumescrollMC.addEventListener(MouseEvent.MOUSE_DOWN, startResumescroll);
    //Listen when the user releases the mouse button
    stage.addEventListener(MouseEvent.MOUSE_UP, stopResumescroll);
    //This function is called when the user is dragging the scrollMC
    function startResumescroll(e:Event):void {
    //Set Resumescrolling to true
    Resumescrolling = true;
    //Start dragging the scrollMC
    resumescrollMC.startDrag(false,Resumebounds);
    //This function is called when the user stops dragging the scrollMC
    function stopResumescroll(e:Event):void {
    //Set Resumescrolling to false
    Resumescrolling = false;
    //Stop the drag
    resumescrollMC.stopDrag();
    //Add ENTER_FRAME to animate the scroll
    addEventListener(Event.ENTER_FRAME, enterResumeHandler);
    //This function is called in each frame
    function enterResumeHandler(e:Event):void {
    //Check if we are Resumescrolling
    if (Resumescrolling == true) {
    //Calculate the distance how far the scrollMC is from the top
    var distance:Number = Math.round(resumescrollMC.y - Resumebounds.y);
    //Calculate the percentage of the distance from the line height.
    //So when the scrollMC is on top, percentage is 0 and when its
    //at the bottom the percentage is 1.
    var percentage:Number = distance / RESUME_HEIGHT;
    //Save the old y coordinate
    oldResumeY = myResumecontent.y;
    //Calculate a new y target coordinate for the content.
    //We subtract the mask’s height from the contentHeight.
    //Otherwise the content would move too far up when we scroll down.
    //Remove the subraction to see for yourself!
    var targetY:Number = -((RESUMECONTENT_HEIGHT - RESUME_HEIGHT) * percentage) + myResume.y;
    //We only want to animate the scroll if the old y is different from the new y.
    //In our movie we animate the scroll if the difference is bigger than 5 pixels.
    if (Math.abs(oldResumeY - targetY) > 5) {
    //Tween the content to the new location.
    //Call the function ResumetweenFinished() when the tween is complete.
    TweenMax.to(myResumecontent, 0.3, {y: targetY, blurFilter:{blurX:22, blurY:22}, onComplete: ResumetweenFinished});
    //This function is called when the tween is finished
    function ResumetweenFinished():void {
    //Tween the content back to “normal” (= remove blur)
    TweenMax.to(myResumecontent, 0.3, {blurFilter:{blurX:0, blurY:0}});

    Hi again,
    Thank you for helping. I really appreciate it! Would it be easier to say, if resumescrollMC exists, then execute these functions? I was not able to figure out the null statement from your post. Here is what I am trying (though I am not sure it is possible). I declared the var resumescrollMC, and then I tried to put pretty much the entire code into an if (resumescrollMC == true) since this code only needs to be completed when resumescrollMC is on the stage. It is not working the way I have tried, but I am assuming I am setting up the code incorrectly. Or, an if statement is not supposed to be issued to an object:
    //Import TweenMax and the plugin for the blur filter
    import gs.TweenMax2;
    import gs.plugins.BlurFilterPlugin2;
    //Save the content's and mask's height.
    //Assign your own content height here!!
    var RESUMECONTENT_HEIGHT:Number = 1500;
    var RESUME_HEIGHT:Number = 450;
    var resumescrollMC:MovieClip;
    if (resumescrollMC == true) {
    //We want to know what was the previous y coordinate of the content (for the animation)
    var oldResumeY:Number = myResumecontent.y;
    //Position the content on the top left corner of the mask
    myResumecontent.x = myResume.x;
    myResumecontent.y = myResume.y;
    //Set the mask to our content
    myResumecontent.mask = myResume;
    //Create a rectangle that will act as the Resumebounds to the scrollMC.
    //This way the scrollMC can only be dragged along the line.
    var Resumebounds:Rectangle = new Rectangle(resumescrollMC.x,resumescrollMC.y,0,450);
    //We want to know when the user is Resumescrolling
    var Resumescrolling:Boolean = false;
    //Listen when the user is holding the mouse down on the scrollMC
    resumescrollMC.addEventListener(MouseEvent.MOUSE_DOWN, startResumescroll);
    //Listen when the user releases the mouse button
    stage.addEventListener(MouseEvent.MOUSE_UP, stopResumescroll);
    //This function is called when the user is dragging the scrollMC
    function startResumescroll(e:Event):void {
    //Set Resumescrolling to true
    Resumescrolling = true;
    //Start dragging the scrollMC
    resumescrollMC.startDrag(false,Resumebounds);
    //This function is called when the user stops dragging the scrollMC
    function stopResumescroll(e:Event):void {
    //Set Resumescrolling to false
    Resumescrolling = false;
    //Stop the drag
    resumescrollMC.stopDrag();
    //Add ENTER_FRAME to animate the scroll
    addEventListener(Event.ENTER_FRAME, enterResumeHandler);
    //This function is called in each frame
    function enterResumeHandler(e:Event):void {
    //Check if we are Resumescrolling
    if (Resumescrolling == true) {
    //Calculate the distance how far the scrollMC is from the top
    var distance:Number = Math.round(resumescrollMC.y - Resumebounds.y);
    //Calculate the percentage of the distance from the line height.
    //So when the scrollMC is on top, percentage is 0 and when its
    //at the bottom the percentage is 1.
    var percentage:Number = distance / RESUME_HEIGHT;
    //Save the old y coordinate
    oldResumeY = myResumecontent.y;
    //Calculate a new y target coordinate for the content.
    //We subtract the mask's height from the contentHeight.
    //Otherwise the content would move too far up when we scroll down.
    //Remove the subraction to see for yourself!
    var targetY:Number = -((RESUMECONTENT_HEIGHT - RESUME_HEIGHT) * percentage) + myResume.y;
    //We only want to animate the scroll if the old y is different from the new y.
    //In our movie we animate the scroll if the difference is bigger than 5 pixels.
    if (Math.abs(oldResumeY - targetY) > 5) {
    //Tween the content to the new location.
    //Call the function ResumetweenFinished() when the tween is complete.
    TweenMax.to(myResumecontent, 0.3, {y: targetY, blurFilter:{blurX:22, blurY:22}, onComplete: ResumetweenFinished});
    //This function is called when the tween is finished
    function ResumetweenFinished():void {
    //Tween the content back to "normal" (= remove blur)
    TweenMax.to(myResumecontent, 0.3, {blurFilter:{blurX:0, blurY:0}});

  • TypeError: Error #1009: Cannot access a property or method of a null object reference.      at FC_Home_A

    Dear Sir,
    I really need your valuable assistance i was about to finish a project but at very last moment i am stuck. Here is the explanation below...
    I have two files called "holder.swf" and "slide.swf" i want to improt the "slide.swf" using this action below
    var myLoader:Loader = new Loader();
    var url:URLRequest = new URLRequest("slide.swf");
    myLoader.load(url);
    addChild(myLoader);
    myLoader.x = 2;
    myLoader.y = 2;
    Also i have attached the flash file of "holder.swf". My concern is the moment i am calling the "slide.swf" inside the "holder.swf" it is showing the following error...
    " TypeError: Error #1009: Cannot access a property or method of a null object reference.
              at FC_Home_Ads_Holder_v2_fla::MainTimeline() "
    Here are the files uploaded for your reference, please download this file http://www.touchpixl.com/ForumsAdobecom.zip
    This error is being occured from "MainTimeline.as" file here is the code been use inside of this file below....
    package FC_Home_Ads_Holder_v2_fla
        import __AS3__.vec.*;
        import adobe.utils.*;
        import com.danehansen.*;
        import com.greensock.*;
        import com.greensock.easing.*;
        import com.greensock.plugins.*;
        import flash.accessibility.*;
        import flash.desktop.*;
        import flash.display.*;
        import flash.errors.*;
        import flash.events.*;
        import flash.external.*;
        import flash.filters.*;
        import flash.geom.*;
        import flash.globalization.*;
        import flash.media.*;
        import flash.net.*;
        import flash.net.drm.*;
        import flash.printing.*;
        import flash.profiler.*;
        import flash.sampler.*;
        import flash.sensors.*;
        import flash.system.*;
        import flash.text.*;
        import flash.text.engine.*;
        import flash.text.ime.*;
        import flash.ui.*;
        import flash.utils.*;
        import flash.xml.*;
        public dynamic class MainTimeline extends flash.display.MovieClip
            public function MainTimeline()
                new Vector.<String>(6)[0] = "Productivity";
                new Vector.<String>(6)[1] = "Leadership";
                new Vector.<String>(6)[2] = "Execution";
                new Vector.<String>(6)[3] = "Education";
                new Vector.<String>(6)[4] = "Speed of Trust";
                new Vector.<String>(6)[5] = "Sales";
                super();
                addFrameScript(0, this.frame1);
                return;
            public function init():void
                var loc1:*=null;
                com.greensock.plugins.TweenPlugin.activate([com.greensock.plugins.Aut oAlphaPlugin]);
                loc1 = new flash.net.URLLoader(new flash.net.URLRequest(this.XML_LOC));
                var loc2:*;
                this.next_mc.buttonMode = loc2 = true;
                this.prev_mc.buttonMode = loc2;
                stage.scaleMode = flash.display.StageScaleMode.NO_SCALE;
                stage.align = flash.display.StageAlign.TOP_LEFT;
                loc1.addEventListener(flash.events.Event.COMPLETE, this.xmlLoaded, false, 0, true);
                this.prev_mc.addEventListener(flash.events.MouseEvent.CLICK, this.minusClick, false, 0, true);
                this.next_mc.addEventListener(flash.events.MouseEvent.CLICK, this.plusClick, false, 0, true);
                return;
            public function xmlLoaded(arg1:flash.events.Event):void
                var loc1:*=null;
                var loc2:*=0;
                this.xmlData = new XML(arg1.target.data);
                loc2 = 0;
                while (loc2 < this.LABELS.length)
                    loc1 = new Btn(this.LABELS[loc2], loc2);
                    this.btnHolder_mc.addChild(loc1);
                    this.BTNS.push(loc1);
                    trace(this.LABELS[loc2]);
                    ++loc2;
                this.current = uint(this.xmlData.@firstPick);
                trace("-----width-----");
                trace(this.contentMask.width);
                var loc3:*=this.contentMask.width / this.LABELS.length;
                trace(loc3);
                loc2 = 0;
                while (loc2 < this.BTNS.length)
                    this.BTNS[loc2].width = loc3;
                    this.BTNS[loc2].x = loc3 * loc2;
                    ++loc2;
                this.btnHolder_mc.addEventListener(flash.events.MouseEvent.CLICK, this.numClick, false, 0, true);
                this.selectMovie();
                return;
            public function numClick(arg1:flash.events.MouseEvent):void
                this.killTimer();
                this.current = arg1.target.i;
                this.selectMovie();
                return;
            public function killTimer():void
                this.timerGoing = false;
                if (this.timer)
                    this.timer.reset();
                    this.timer.addEventListener(flash.events.TimerEvent.TIMER, this.plusClick, false, 0, true);
                    this.timer = null;
                return;
            public function selectMovie():void
                if (this.timerGoing)
                    this.timer = new flash.utils.Timer(uint(this.xmlData.ad[com.danehansen.MyMath.modulo(t his.current, this.xmlData.ad.length())].@delay), 1);
                    this.timer.start();
                    this.timer.addEventListener(flash.events.TimerEvent.TIMER, this.plusClick, false, 0, true);
                while (this.holder_mc.numChildren > 0)
                    this.holder_mc.removeChild(this.holder_mc.getChildAt(0));
                var loc1:*=new flash.display.Loader();
                loc1.load(new flash.net.URLRequest(this.xmlData.ad[com.danehansen.MyMath.modulo(thi s.current, this.xmlData.ad.length())].@loc));
                this.holder_mc.addChild(loc1);
                var loc2:*=0;
                while (loc2 < this.BTNS.length)
                    this.BTNS[loc2].deselect();
                    ++loc2;
                this.BTNS[com.danehansen.MyMath.modulo(this.current, this.xmlData.ad.length())].select();
                var loc3:*=this.BTNS[com.danehansen.MyMath.modulo(this.current, this.xmlData.ad.length())].x + this.BTNS[com.danehansen.MyMath.modulo(this.current, this.xmlData.ad.length())].width / 2 + this.btnHolder_mc.x;
                trace("addLength:" + this.xmlData.ad.length());
                trace(loc3, com.danehansen.MyMath.modulo(this.current, this.xmlData.ad.length()));
                com.greensock.TweenLite.to(this.indicator_mc, 0.3, {"x":loc3, "ease":com.greensock.easing.Cubic.easeOut});
                loc1.contentLoaderInfo.addEventListener(flash.events.Event.COMPLETE, this.adLoaded, false, 0, true);
                return;
            public function adLoaded(arg1:flash.events.Event):void
                var evt:flash.events.Event;
                var loc1:*;
                evt = arg1;
                try
                    evt.target.content.xmlData = this.xmlData.ad[com.danehansen.MyMath.modulo(this.current, this.xmlData.ad.length())];
                catch (er:Error)
                return;
            public function minusClick(arg1:flash.events.MouseEvent):void
                this.killTimer();
                var loc1:*;
                var loc2:*=((loc1 = this).current - 1);
                loc1.current = loc2;
                this.selectMovie();
                return;
            public function plusClick(arg1:flash.events.Event):void
                if (arg1.type != "timer")
                    this.killTimer();
                var loc1:*;
                var loc2:*=((loc1 = this).current + 1);
                loc1.current = loc2;
                this.selectMovie();
                trace("next");
                return;
            public function ENDED(arg1:flash.events.Event):void
                if (arg1.type != "timer")
                    this.killTimer();
                var loc1:*;
                var loc2:*=((loc1 = this).current + 1);
                loc1.current = loc2;
                this.selectMovie();
                trace("next");
                return;
            public function STARTED(arg1:flash.events.Event):void
                this.killTimer();
                return;
            function frame1():*
                this.timerGoing = true;
                addEventListener("endNow", this.ENDED, false, 0, true);
                addEventListener("startNow", this.STARTED, false, 0, true);
                this.init();
                return;
            public const XML_LOC:String=stage.loaderInfo.parameters.xmlLoc ? stage.loaderInfo.parameters.xmlLoc : "home_ads.xml";
            public const LABELS:__AS3__.vec.Vector.<String>=new Vector.<String>(6);
            public const BTNS:__AS3__.vec.Vector.<Btn>=new Vector.<Btn>();
            public const TRANSITION_TIME:Number=0.2;
            public var contentMask:flash.display.MovieClip;
            public var btnHolder_mc:flash.display.MovieClip;
            public var holder_mc:flash.display.MovieClip;
            public var indicator_mc:flash.display.MovieClip;
            public var prev_mc:flash.display.MovieClip;
            public var next_mc:flash.display.MovieClip;
            public var current:int;
            public var xmlData:XML;
            public var timer:flash.utils.Timer;
            public var timerGoing:Boolean;
    Here is the folder uploaded on the server for you to get clear picture, please click on this link to download the entire folder. http://www.touchpixl.com/ForumsAdobecom.zip
    I am not being able to resolve the issue, it needs a master to get the proper solution. I would request you to help me.
    Thanks & Regards
    Sanjib Das

    Here is the entire code of MainTimeline.as below, please correct it.
    package FC_Home_Ads_Holder_v2_fla
        import __AS3__.vec.*;
        import adobe.utils.*;
        import com.danehansen.*;
        import com.greensock.*;
        import com.greensock.easing.*;
        import com.greensock.plugins.*;
        import flash.accessibility.*;
        import flash.desktop.*;
        import flash.display.*;
        import flash.errors.*;
        import flash.events.*;
        import flash.external.*;
        import flash.filters.*;
        import flash.geom.*;
        import flash.globalization.*;
        import flash.media.*;
        import flash.net.*;
        import flash.net.drm.*;
        import flash.printing.*;
        import flash.profiler.*;
        import flash.sampler.*;
        import flash.sensors.*;
        import flash.system.*;
        import flash.text.*;
        import flash.text.engine.*;
        import flash.text.ime.*;
        import flash.ui.*;
        import flash.utils.*;
        import flash.xml.*;
        public dynamic class MainTimeline extends flash.display.MovieClip
            public function MainTimeline()
                new Vector.<String>(6)[0] = "Productivity";
                new Vector.<String>(6)[1] = "Leadership";
                new Vector.<String>(6)[2] = "Execution";
                new Vector.<String>(6)[3] = "Education";
                new Vector.<String>(6)[4] = "Speed of Trust";
                new Vector.<String>(6)[5] = "Sales";
                super();
                addFrameScript(0, this.frame1);
                return;
            public function init():void
                var loc1:*=null;
                com.greensock.plugins.TweenPlugin.activate([com.greensock.plugins.AutoAlphaPlugin]);
                loc1 = new flash.net.URLLoader(new flash.net.URLRequest(this.XML_LOC));
                var loc2:*;
                this.next_mc.buttonMode = loc2 = true;
                this.prev_mc.buttonMode = loc2 = true;
                stage.scaleMode = flash.display.StageScaleMode.NO_SCALE;
                stage.align = flash.display.StageAlign.TOP_LEFT;
                loc1.addEventListener(flash.events.Event.COMPLETE, this.xmlLoaded, false, 0, true);
                this.prev_mc.addEventListener(flash.events.MouseEvent.CLICK, this.minusClick, false, 0, true);
                this.next_mc.addEventListener(flash.events.MouseEvent.CLICK, this.plusClick, false, 0, true);
                return;
            public function xmlLoaded(arg1:flash.events.Event):void
                var loc1:*=null;
                var loc2:*=0;
                this.xmlData = new XML(arg1.target.data);
                loc2 = 0;
                while (loc2 < this.LABELS.length)
                    loc1 = new Btn(this.LABELS[loc2], loc2);
                    this.btnHolder_mc.addChild(loc1);
                    this.BTNS.push(loc1);
                    trace(this.LABELS[loc2]);
                    ++loc2;
                this.current = uint(this.xmlData.@firstPick);
                trace("-----width-----");
                trace(this.contentMask.width);
                var loc3:*=this.contentMask.width / this.LABELS.length;
                trace(loc3);
                loc2 = 0;
                while (loc2 < this.BTNS.length)
                    this.BTNS[loc2].width = loc3;
                    this.BTNS[loc2].x = loc3 * loc2;
                    ++loc2;
                this.btnHolder_mc.addEventListener(flash.events.MouseEvent.CLICK, this.numClick, false, 0, true);
                this.selectMovie();
                return;
            public function numClick(arg1:flash.events.MouseEvent):void
                this.killTimer();
                this.current = arg1.target.i;
                this.selectMovie();
                return;
            public function killTimer():void
                this.timerGoing = false;
                if (this.timer)
                    this.timer.reset();
                    this.timer.addEventListener(flash.events.TimerEvent.TIMER, this.plusClick, false, 0, true);
                    this.timer = null;
                return;
            public function selectMovie():void
                if (this.timerGoing)
                    this.timer = new flash.utils.Timer(uint(this.xmlData.ad[com.danehansen.MyMath.modulo(this.current, this.xmlData.ad.length())].@delay), 1);
                    this.timer.start();
                    this.timer.addEventListener(flash.events.TimerEvent.TIMER, this.plusClick, false, 0, true);
                while (this.holder_mc.numChildren > 0)
                    this.holder_mc.removeChild(this.holder_mc.getChildAt(0));
                var loc1:*=new flash.display.Loader();
                loc1.load(new flash.net.URLRequest(this.xmlData.ad[com.danehansen.MyMath.modulo(this.current, this.xmlData.ad.length())].@loc));
                this.holder_mc.addChild(loc1);
                var loc2:*=0;
                while (loc2 < this.BTNS.length)
                    this.BTNS[loc2].deselect();
                    ++loc2;
                this.BTNS[com.danehansen.MyMath.modulo(this.current, this.xmlData.ad.length())].select();
                var loc3:*=this.BTNS[com.danehansen.MyMath.modulo(this.current, this.xmlData.ad.length())].x + this.BTNS[com.danehansen.MyMath.modulo(this.current, this.xmlData.ad.length())].width / 2 + this.btnHolder_mc.x;
                trace("addLength:" + this.xmlData.ad.length());
                trace(loc3, com.danehansen.MyMath.modulo(this.current, this.xmlData.ad.length()));
                com.greensock.TweenLite.to(this.indicator_mc, 0.3, {"x":loc3, "ease":com.greensock.easing.Cubic.easeOut});
                loc1.contentLoaderInfo.addEventListener(flash.events.Event.COMPLETE, this.adLoaded, false, 0, true);
                return;
            public function adLoaded(arg1:flash.events.Event):void
                var evt:flash.events.Event;
                var loc1:*;
                evt = arg1;
                try
                    evt.target.content.xmlData = this.xmlData.ad[com.danehansen.MyMath.modulo(this.current, this.xmlData.ad.length())];
                catch (er:Error)
                return;
            public function minusClick(arg1:flash.events.MouseEvent):void
                this.killTimer();
                var loc1:*;
                var loc2:*=((loc1 = this).current - 1);
                loc1.current = loc2;
                this.selectMovie();
                return;
            public function plusClick(arg1:flash.events.Event):void
                if (arg1.type != "timer")
                    this.killTimer();
                var loc1:*;
                var loc2:*=((loc1 = this).current + 1);
                loc1.current = loc2;
                this.selectMovie();
                trace("next");
                return;
            public function ENDED(arg1:flash.events.Event):void
                if (arg1.type != "timer")
                    this.killTimer();
                var loc1:*;
                var loc2:*=((loc1 = this).current + 1);
                loc1.current = loc2;
                this.selectMovie();
                trace("next");
                return;
            public function STARTED(arg1:flash.events.Event):void
                this.killTimer();
                return;
            function frame1():*
                this.timerGoing = true;
                addEventListener("endNow", this.ENDED, false, 0, true);
                addEventListener("startNow", this.STARTED, false, 0, true);
                this.init();
                return;
            public const XML_LOC:String=stage.loaderInfo.parameters.xmlLoc ? stage.loaderInfo.parameters.xmlLoc : "home_ads.xml";
            public const LABELS:__AS3__.vec.Vector.<String>=new Vector.<String>(6);
            public const BTNS:__AS3__.vec.Vector.<Btn>=new Vector.<Btn>();
            public const TRANSITION_TIME:Number=0.2;
            public var contentMask:flash.display.MovieClip;
            public var btnHolder_mc:flash.display.MovieClip;
            public var holder_mc:flash.display.MovieClip;
            public var indicator_mc:flash.display.MovieClip;
            public var prev_mc:flash.display.MovieClip;
            public var next_mc:flash.display.MovieClip;
            public var current:int;
            public var xmlData:XML;
            public var timer:flash.utils.Timer;
            public var timerGoing:Boolean;

  • Preloader :Error #1009: Cannot access a property or method of a null object reference.

    Hi,
    I'm having a lot of trouble getting a preloader to work on my Flash website. I'm new to actionscript, the site works fine but when I place the preloader in frame 1, I get.
    Error#1009: Cannot access a property or method of a null object reference.
    Then it lists three areas. The buttons on the site don't work anymore.
    I've followed the Lynda com tutorials so don't know what is causing this error.
    Included is the word.doc with the error code, preloader code, the main flash frame 2 code and the debug information.
    Any help would be great.
    Thanks!

    You need to make sure 'cards' is named properly and is present when that line of code executes.  If it is somewhere down a timeline, it is not present.
    As far as your preloader code goes, what is infoLoader.  I have to assume it's some form of component since you don't have any code to instantiate it.

  • TypeError: Error #1009: Cannot access a property or method of a null object reference. at mx.controls::AdvancedDataGrid/findHeaderRenderer()

    Can anyone throw any light on this obscure Flex error?...
    TypeError: Error #1009: Cannot access a property or method of a null object reference.
    at mx.controls::AdvancedDataGrid/findHeaderRenderer()[...path...\projects\datavisualisation\ src\mx\controls\AdvancedDataGrid.as:1350]
    at mx.controls::AdvancedDataGrid/mouseEventToItemRenderer()[...path...\projects\datavisualis ation\src\mx\controls\AdvancedDataGrid.as:1315]
    at mx.controls.listClasses::AdvancedListBase/mouseMoveHandler()[...path...\projects\datavisu alisation\src\mx\controls\listClasses\AdvancedListBase.as:8091]
    I found a related bug reported on Jira: https://bugs.adobe.com/jira/browse/FLEXDMV-1631
    But in our case, we have no zoom effect.  It may be timing related, as there is a lot of computation going on when this page, and the ADG is first initialised.
    Please?... Any suggestions or workarounds?  We don't want this falling over in the hands of our customers.
    <rant> And people wonder why I hate Flex!?  These obscure instabilities never happen when I develop Pure ActionScript.  The Flash platform is wonderfully stable.  But as soon as you bring Flex into play, things take longer to develop, it's a struggle to extend or change the behaviour of the bloated components, and everything falls apart as these bugs begin to surface.</rant>

    facing the same problem... sdk 4.1. no solution for about 2 years ????

  • Error #1009 while loading swf "Cannot access a property or method of a null object reference."

    Hello
    I'm trying to load a swf called "polaroids.swf" into my main swf called "09replacesSWF.swf". I keep getting the error when I test the movie. I'm completely lost and have been at this for hours. If I just test polaroids.fla the movie works fine but if I try to load it into 09replacesSWF.swf, I get the error. I need some help PLEASE!!!!!
    I tried to debug the movie and flash says......."Cannot display source code at this location".
    ....... TypeError: Error #1009: Cannot access a property or method of a null object reference.
        at Polaroids$iinit()
    Here is my AS code
    package {
        import flash.display.*;
        import flash.filters.*;
        import flash.utils.*;
        import flash.net.*;
        import flash.events.*;
        import flash.filters.DropShadowFilter;
        import caurina.transitions.*;
        public class Polaroids extends MovieClip {
            //Variables
            public var stageContainer:MovieClip;
            private var _scaleTempo:Number;
            private var _thumbStr:Number;
            private var _stageHeight:Number;
            private var _stageWidth:Number;
            private var _count:Number;
            private var _initBGHeight:Number;
            private var _initBGWidth:Number;
            //Arrays
            private var _backgroundImageArr:Array;
            private var _imageURLArr:Array;
            private var _imageCaptionArr:Array;
            private var _imagesArr:Array;
            //Bitmaps
            private var _image:Bitmap;
            private var _backgroundImage:Bitmap;
            private var _bitmap:BitmapData;
            private var _backgroundBitmap:BitmapData;
            //XML
            private var _xmlLoader:URLLoader;
            private var _imageXML:XML;
            //Holders
            private var _imageContainer:ImageContainer;
            private var _backgroundImageHolder:MovieClip;
            //Image States
            private var _activeImage = null;
            private var _previousActiveImage = null;
            //Loaders
            private var backgroundImageLoader:Loader;
            public function Polaroids() {
                //sets up initial variable values
                _count = 0;
                _backgroundImageArr=new Array;
                _imageURLArr=new Array;
                _imageCaptionArr=new Array;
                _imagesArr=new Array;
                _scaleTempo=9;
                _thumbStr = .3;
                backgroundImageLoader = new Loader();
                _stageHeight=stage.stageHeight;
                _stageWidth=stage.stageWidth;
                _backgroundImageHolder = new MovieClip();
                stageContainer = new MovieClip();
                addChild(stageContainer);
                init();
            //Add Stage Listener
            private function addedToStage(e:Event):void {
                stage.addEventListener(Event.RESIZE, onResize);
            Initialise
            private function init():void {
                //Setup stage
                stage.align     = StageAlign.TOP_LEFT;
                stage.scaleMode = StageScaleMode.NO_SCALE;
                //Load XML
                var _xmlLoader:URLLoader=new URLLoader;
                _xmlLoader.load(new URLRequest("photos.xml"));
                _xmlLoader.addEventListener(Event.COMPLETE,processXML);
                this.addEventListener(Event.ADDED_TO_STAGE, addedToStage);
            Process XML
            private function processXML(e:Event):void {
                _imageXML=new XML(e.target.data);
                _backgroundImageArr[0] = _imageXML.@backgroundImage;
                for (var i:int=0; i < _imageXML.*.length(); i++) {
                    _imageURLArr[i]=_imageXML.image[i].@url;
                    _imageCaptionArr[i]=_imageXML.image[i].@caption;
                loadImages();
                loadBackgroundImage();
            Load Background Image
            private function loadBackgroundImage():void {
                backgroundImageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,addBack ground);
                backgroundImageLoader.load(new URLRequest(_backgroundImageArr[0]));
            Add background image to stage
            private function addBackground(e:Event):void {
                _backgroundImage=Bitmap(e.target.content);
                _backgroundBitmap=_image.bitmapData;
                _backgroundImage.smoothing = true;
                _backgroundImageHolder.addChild(_backgroundImage);
                _initBGHeight = backgroundImageLoader.contentLoaderInfo.height;
                _initBGWidth = backgroundImageLoader.contentLoaderInfo.width;
                if ((_initBGWidth/_initBGHeight) > (stage.stageWidth/stage.stageHeight)) {
                    _backgroundImageHolder.height = stage.stageHeight;
                    _backgroundImageHolder.width =  _backgroundImageHolder.height * _initBGWidth / _initBGHeight;
                } else {
                    _backgroundImageHolder.width = stage.stageWidth;
                    _backgroundImageHolder.height= _backgroundImageHolder.width * _initBGHeight / _initBGWidth;
            Load Images
            private function loadImages():void {
                for (var i:int=0; i < _imageURLArr.length; i++) {
                    var imageLoader:Loader=new Loader;
                    imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,addImage);
                    imageLoader.load(new URLRequest(_imageURLArr[i]));
            Add images to MovieClip on Stage
            private function addImage(e:Event):void {
                _image=Bitmap(e.target.content);
                _bitmap=_image.bitmapData;
                _image.smoothing = true;
                _imageContainer = new ImageContainer();
                _imageContainer.falseBtn.buttonMode = true;
                _imageContainer.falseBtn.doubleClickEnabled = true;
                _imageContainer.imageHolder.addChild(_image);//Add Bitmap to a MoviClip _imageContainer
                _image.x = _imageContainer.width/2 - (_image.width/2 + 15);
                _image.y = _imageContainer.height/2 - (_image.height/2 + 80) ;
                _imageContainer.imageCaption.text = _imageCaptionArr[_count];
                _imageContainer.scaleX = _thumbStr;
                _imageContainer.scaleY = _thumbStr;
                _imageContainer.rotation = 30 - 60 * Math.random();
                if (Math.round(Math.random() * 1) == 1) {
                    _imageContainer.y=stage.stageHeight * Math.random() + _imageContainer.height * 2;
                    if (Math.round(Math.random() * 1) == 1) {
                        _imageContainer.x=stage.stageWidth + _imageContainer.width * 2;
                    } else {
                        _imageContainer.x=- _imageContainer.width * 2;
                } else {
                    _imageContainer.x=stage.stageWidth * Math.random() + _imageContainer.width * 2;
                    if (Math.round(Math.random() * 1) == 1) {
                        _imageContainer.y=stage.stageHeight + _imageContainer.height * 2;
                    } else {
                        _imageContainer.y=- _imageContainer.height * 2;
                //Setup Attributes
                _imageContainer.newX = Math.round((_imageContainer.width/2) + (stage.stageWidth-_imageContainer.width)*Math.random());
                _imageContainer.newY = Math.round((_imageContainer.height/2) + (stage.stageHeight-_imageContainer.height)*Math.random());
                _imageContainer.oldRotation = _imageContainer.rotation;
                _imageContainer.oldX = _imageContainer.newX;
                _imageContainer.oldY = _imageContainer.newY;
                _imageContainer.startX = _imageContainer.x;
                _imageContainer.startY = _imageContainer.y;
                _imageContainer.oldHeight = _imageContainer.scaleY;
                _imageContainer.oldWidth = _imageContainer.scaleX;
                _imageContainer.id = _count;
                _imageContainer.addEventListener(Event.ENTER_FRAME, animateImage);
                _imageContainer.addEventListener(MouseEvent.MOUSE_DOWN,dragImage);
                _imageContainer.addEventListener(MouseEvent.MOUSE_UP,dropImage);
                _imageContainer.addEventListener(MouseEvent.MOUSE_OUT, dropImage);
                _imageContainer.falseBtn.addEventListener(MouseEvent.DOUBLE_CLICK, setup_activeImage);
                _imagesArr.push(_imageContainer);//Add image reference to an Array
                _imageContainer.filters = [new DropShadowFilter(0,0,0,.9,8,8,1,1,false,false)];
                //Button Listeners
                _imageContainer.nextBtn.visible = false;
                _imageContainer.previousBtn.visible = false;
                _imageContainer.nextBtn.buttonMode = true;
                _imageContainer.previousBtn.buttonMode = true;
                _imageContainer.nextBtn.addEventListener(MouseEvent.MOUSE_DOWN, nextImage);
                _imageContainer.previousBtn.addEventListener(MouseEvent.MOUSE_DOWN, previousImage);
                //Add Container to Stage
                addChild(_imageContainer);
                stageContainer.addChild(_imageContainer);
                _count++;
            Animate Images onto Stage
            private function animateImage(e:Event):void {
                e.target.y += (e.target.newY - e.target.y) / _scaleTempo;
                e.target.x += (e.target.newX - e.target.x) / _scaleTempo;
                if (Math.round(e.target.y) == e.target.newY) {
                    e.target.removeEventListener(Event.ENTER_FRAME, animateImage);
            Drag & Drop Images
            private function dragImage(e:MouseEvent) {
                if (e.currentTarget != _activeImage) {
                    e.currentTarget.startDrag();
                    if (_activeImage == null) {
                        stageContainer.setChildIndex(DisplayObject(e.currentTarget), stageContainer.numChildren-1);
                    } else {
                        stageContainer.setChildIndex(DisplayObject(e.currentTarget), stageContainer.numChildren-2);
            private function dropImage(e:MouseEvent) {
                if (e.currentTarget != _activeImage) {
                    e.currentTarget.stopDrag();
                    e.currentTarget.oldX = e.currentTarget.x;
                    e.currentTarget.oldY = e.currentTarget.y;
            onResize Handler
            private function onResize(e:Event):void {
                for (var i:int = 0; i<_imagesArr.length; i++) {
                    if (_imagesArr[i] != _activeImage) {
                        _imagesArr[i].x = Math.round(stage.stageWidth * (_imagesArr[i].x/_stageWidth));
                        _imagesArr[i].y = Math.round(stage.stageHeight * (_imagesArr[i].y/_stageHeight));
                    } else {
                        _activeImage.x = stage.stageWidth/2;
                        _activeImage.y = stage.stageHeight/2;
                    _imagesArr[i].oldX = Math.round(stage.stageWidth * (_imagesArr[i].oldX/_stageWidth));
                    _imagesArr[i].oldY = Math.round(stage.stageHeight * (_imagesArr[i].oldY/_stageHeight));
                    _imagesArr[i].newX = Math.round(stage.stageWidth * (_imagesArr[i].newX/_stageWidth));
                    _imagesArr[i].newY = Math.round(stage.stageHeight * (_imagesArr[i].newY/_stageHeight));
                    _imagesArr[i].startX = Math.round(stage.stageWidth * (_imagesArr[i].startX/_stageWidth));
                    _imagesArr[i].startY = Math.round(stage.stageHeight * (_imagesArr[i].startY/_stageHeight));
                //Background Resizer
                if ((_initBGWidth/_initBGHeight) > (stage.stageWidth/stage.stageHeight)) {
                    _backgroundImageHolder.height = stage.stageHeight;
                    _backgroundImageHolder.width =  _backgroundImageHolder.height * _initBGWidth / _initBGHeight;
                } else {
                    _backgroundImageHolder.width = stage.stageWidth;
                    _backgroundImageHolder.height= _backgroundImageHolder.width * _initBGHeight / _initBGWidth;
                _stageWidth = stage.stageWidth;
                _stageHeight = stage.stageHeight;
            Handle Selected Image
            private function zoomImage():void {
                stageContainer.setChildIndex(_activeImage, stageContainer.numChildren-1);
                Tweener.addTween(_activeImage,{scaleX: 1, scaleY: 1, rotation: 0, x: _stageWidth/2 , y: _stageHeight/2, time: 1});
                _activeImage.nextBtn.visible = true;
                _activeImage.previousBtn.visible = true;
            private function returnImage():void {
                stageContainer.setChildIndex(_previousActiveImage, stageContainer.numChildren-2);
                Tweener.addTween(_previousActiveImage,{scaleX: .3, scaleY: .3, rotation: _previousActiveImage.oldRotation, x: _previousActiveImage.oldX , y: _previousActiveImage.oldY, time: 1});
                _previousActiveImage.nextBtn.visible = false;
                _previousActiveImage.previousBtn.visible = false;
            private function setup_activeImage(e:Event):void {
                if ((_activeImage == null) && (_previousActiveImage == null)) {
                    _activeImage = e.currentTarget.parent;
                    zoomImage();
                } else if (e.currentTarget.parent != _activeImage) {
                    _previousActiveImage = _activeImage;
                    _activeImage = e.currentTarget.parent;
                    zoomImage();
                    returnImage();
                } else {
                    Tweener.addTween(_activeImage,{scaleX: .3, scaleY: .3, rotation: _activeImage.oldRotation, x: _activeImage.oldX , y: _activeImage.oldY, time: 1});
                    _activeImage.nextBtn.visible = false;
                    _activeImage.previousBtn.visible = false;
                    _activeImage = null;
                    _previousActiveImage = null;
            Button Handlers
            private function nextImage(e:MouseEvent):void {
                var imageID = int(e.currentTarget.parent.id);
                if (imageID < _imagesArr.length - 1) {
                    _previousActiveImage = e.currentTarget.parent;
                    _activeImage = _imagesArr[imageID+1];
                    zoomImage();
                    returnImage();
                } else {
                    _previousActiveImage = e.currentTarget.parent;
                    _activeImage = _imagesArr[0];
                    zoomImage();
                    returnImage();
            private function previousImage(e:MouseEvent):void {
                var imageID = int(e.currentTarget.parent.id);
                if (imageID != 0) {
                    _previousActiveImage = e.currentTarget.parent;
                    _activeImage = _imagesArr[imageID-1];
                    zoomImage();
                    returnImage();
                } else {
                    _previousActiveImage = e.currentTarget.parent;
                    _activeImage = _imagesArr[_imagesArr.length-1];
                    zoomImage();
                    returnImage();
    }

    Raymond,
    The error is at line 55....when I debug
    TypeError: Error #1009: Cannot access a property or method of a null object reference.
        at Polaroids$iinit()[/Volumes/Herman's Passport/Music Rocka/RockaGallery/Polaroids.as:55]
    So i'm looking in the code.....

  • Error 1009 - TypeError: Error #1009: Cannot access a property or method of a null object reference.

    hello,
    I am trying to load a menu as an external file ....  and getting this :  TypeError: Error #1009: Cannot access a property or method of a null object reference.
    at com::menu()
    here is my code:
    if(!menuLoader){   
    var menuRequest:URLRequest = new URLRequest("menu.swf");
    var menuLoader:Loader = new Loader();
    menuLoader.load(menuRequest);
    container.addChild(menuLoader);
    menuLoader.x = 700;
    menuLoader.y = 50;
    can anyone give me a helping hand?
    thanks in advance.

    use:
    here is my code:
    if(menuLoader!=null){   
    var menuRequest:URLRequest = new URLRequest("menu.swf");
    var menuLoader:Loader = new Loader();
    menuLoader.load(menuRequest);
    container.addChild(menuLoader);
    menuLoader.x = 700;
    menuLoader.y = 50;

  • The Ole #1009: Cannot access a property or method of a null object reference ...

    To anyone that can help me I say thank you first I also say thank you to anyone else that attempts to help.  I am sure this will be an easy one for most of you but I am completely stumped.  I am a newbee to AS.
    I have a movie that has navigation butttons and they all work find.  On a scene in the movie I have an image that grows grows from alpha 0 to 100%.  When you Mouse_Over the alpha drops to -.6 and when you Mouse_Out it goes back to 1.  I have this in frame 1 and this scene takes place between frames 115 and 166.  When I execute a Mouse.Click on the movieClip (contact_us_gel) I am moved to the emailScene.  The bad news is when I click the movieClip I get the below.  I change the movieClip to be on the stage for entire movie from frame 1 to 166 in hopes to loose this error.  As you can tell that didn't work.  Below is the AS code that I have written. I use this same code for my navigation buttons and I have no issues.  I have officially had my butt kicked by this one.
    I have tried removing the eventListner and that just really messes me up until I go to the homeScene (frame 1) and add the event listner back for he contact_us_gel.
    The Trace & Error from the outPut.....
    Frame on Gel MouseOut 228 <<-- Trace statement when I click the gel / This is also where the email scene stars
    TypeError: Error #1009: Cannot access a property or method of a null object reference.
        at barnumRealtyGroup_fla::MainTimeline/outCUG()[barnumRealtyGroup_fla.MainTimeline::frame1:1 31]
    The code
    //-- ContactUsGel --\\
    contact_us_gel.addEventListener(MouseEvent.MOUSE_OVER,rolloverCUG);
    contact_us_gel.addEventListener(MouseEvent.MOUSE_OUT,outCUG);
    contact_us_gel.addEventListener(MouseEvent.CLICK,playHomeSceneCUG);
    function rolloverCUG(event:MouseEvent):void{
    contact_us_gel.alpha -= 0.6
    function outCUG(evnt:MouseEvent):void{
        trace("Frame on Gel MouseOut "+this.currentFrame);
        contact_us_gel.alpha = 1; //this is where I am dying.... This is frame1:Line131
    function playHomeSceneCUG(event:MouseEvent):void{
        trace("Frame on Gel Going to Email "+this.currentFrame);
        gotoAndPlay("emailScene");
    Thank you in advance...

    I follow you and something that I failed to mention is that this is happening only when I execute a MouseEvent.Click on contact_us_gel.  While looking at this after my post and testing what is happening is outCUG() is called during the MouseEvent.Click which calls playHomeSceneCUG() << takes me to emailScene.  That is what is killing me I have  not found a proper way to isolate that MouseEvent.Click and not allow it to call outCUG().  I know you are the GURU but did I confuse you.

  • How to bind bar chart(columns) to array list object in c# win form

    how to bind bar chart(columns) to array list  object in c#win form

    Hi Ramesh,
    Did you want to bind list object to bar chart? I made a simple code to achieve binding list to bar chart.
    public partial class Form0210 : Form
    public Form0210()
    InitializeComponent();
    private void Form0210_Load(object sender, EventArgs e)
    BindData();
    public void BindData()
    List<int> yValues = new List<int>(new int[] { 20, 30, 10, 90, 50 });
    List<string> xValues = new List<string>(new string[] { "1:00", "2:00", "3:00", "4:00", "5:00" });
    chart1.Series[0].Points.DataBindXY(xValues, yValues);
    The links below might be useful to you:
    # Data Binding Microsoft Chart Control
    http://blogs.msdn.com/b/alexgor/archive/2009/02/21/data-binding-ms-chart-control.aspx
    # Series and Data Points (Chart Controls)
    https://msdn.microsoft.com/en-us/library/vstudio/dd456769(v=vs.100).aspx
    In addition, if I misunderstood you, please share us more information about your issue.
    Best Regards,
    Edward
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

  • 1009 Error (Null Object Call) Flash CS4

    Hi All
    I'm very new to Flash (this is my first attempt) and am trying to figure out how to deal with this error I'm getting.
    The code is supposed to animate a flyout menu on a mouse hover event.
    I'm actually surprised I have made it this far before getting stumped.
    Please help, My brain hurts. 
    Here is my code:
    import fl.transitions.Tween;
    import fl.transitions.easing.*;
    var FishingSub_mc:MovieClip = FishingSub_mc;
    var Fishing_btn:SimpleButton = Fishing_btn;
    function FishingFlyout (event:MouseEvent):void
        var FishingTween:Tween = new Tween (FishingSub_mc,"y",Regular.easeOut,0,40,20,false);
        Fishing_btn.addEventListener(MouseEvent.MOUSE_OVER,FishingFlyout);
    And here is the error I'm getting:
    TypeError: Error #1009: Cannot access a property or method of a null object reference.
        at menu_fla::MainTimeline/frame1()[menu_fla.MainTimeline::frame1:12]
    Thanks for your help.
    Dave

    I am not sure why you have these two lines...
    var FishingSub_mc:MovieClip = FishingSub_mc;
    var Fishing_btn:SimpleButton = Fishing_btn;
    If those two objects are items on your stage, then you should not need those lines of code at all. The important thing is to be sure that you have the instance names assigned to the objects.  Whichever object is being targeted on line 12 is out of scope when that code executes.
    Some of the possible reasons...
    - the object doesn't have the instance name assigned to it
    - the object animates into the movie and does not have that instance name assigned at each keyframe
    - the object is somewhere down a timeline when that code executes

Maybe you are looking for