Skip to main content
Participant
November 11, 2011
Question

TypeError: Error #1009

  • November 11, 2011
  • 1 reply
  • 1148 views

I am getting the following error, but if I dismiss and go on, my site works fine.  Also, I am using almost identical code as what I am about to post in a separate section of the page for a different data grid, and that is not getting an error:

Error: 

 

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

at ExceptionReporting/getDataExtResult()[\\Vm-cf8dev\webdev\persistent\intra.dev\ssl03-exceptionmanagement\ExceptionReporting\src\ExceptionReporting.mxml:145]

at ExceptionReporting/___ExceptionReporting_Operation5_result()[\\Vm-cf8dev\webdev\persistent\intra.dev\ssl03-exceptionmanagement\ExceptionReporting\src\ExceptionReporting.mxml:332]

at flash.events::EventDispatcher/dispatchEventFunction()

at flash.events::EventDispatcher/dispatchEvent()

at mx.rpc::AbstractOperation/http://www.adobe.com/2006/flex/mx/internal::dispatchRpcEvent()

at mx.rpc::AbstractInvoker/http://www.adobe.com/2006/flex/mx/internal::resultHandler()

at mx.rpc::Responder/result()

at mx.rpc::AsyncRequest/acknowledge()

at NetConnectionMessageResponder/resultHandler()

at mx.messaging::MessageResponder/result()

When I run in debug mode, i see the screen as it is in the attached image. 

Here is the code for what I am doing ( cut out some of the stuff that is working fine to clean up what you are looking at):

<fx:Script>
  <![CDATA[
       
   import mx.collections.ArrayCollection;
   import mx.collections.ArrayList;
   import mx.controls.Alert;
   import mx.events.FlexEvent;
   import mx.events.ListEvent;
   import mx.events.ValidationResultEvent;
   import mx.resources.ResourceBundle;
   import mx.rpc.events.ResultEvent;

  private function StartProcess():void{
    ro.getData();
    ro.getDataExt();
    ro.getStatusList();
    ro.getTypeList();
   }
   private var isNew:Boolean = true;
   private var isNewExt:Boolean = true;
  
  
  
  
   public function getDataResult(e:ResultEvent):void{
    dg.dataProvider = e.result as ArrayCollection;
    makeNew();
   }
  
  
   public function getDataExtResult(e:ResultEvent):void{
    dg2.dataProvider = e.result as ArrayCollection;
    makeNewExt();
   }
  
  
   private function makeNew():void{
    MsgDate.text = "";
    MsgHeader.text = "";
    MsgText.text="";
    datetimetogether.dateField.text="";
    datetimetogether.hoursField.text="";
    datetimetogether.minutesField.text="00";
    datetimetogether.ampmList.selectedItem=0;
    datetimetogether2.dateField.text="";
    datetimetogether2.hoursField.text="";
    datetimetogether2.minutesField.text="00";
    datetimetogether2.ampmList.selectedItem=0;
    isNew = true;
   }
  
   private function makeNewExt():void{
    MsgDateext.text = "";
    MsgHeaderext.text = "";
    rte1.text="";
    datetimetogetherext.dateField.text="";
    datetimetogetherext.hoursField.text="";
    datetimetogetherext.minutesField.text="00";
    datetimetogetherext.ampmList.selectedItem=0;
    datetimetogether2ext.dateField.text="";
    datetimetogether2ext.hoursField.text="";
    datetimetogether2ext.minutesField.text="00";
    datetimetogether2ext.ampmList.selectedItem=0;
    isNewExt = true;
   }
  
   private function save():void{
    if(isNew){
     ro.saveNewData(MsgDate.text, datetimetogether.dateField.text, datetimetogether.hoursField.text, datetimetogether.minutesField.text, datetimetogether.ampmList.selectedItem , datetimetogether2.dateField.text, datetimetogether2.hoursField.text, datetimetogether2.minutesField.text, datetimetogether2.ampmList.selectedItem ,MsgHeader.text,MsgText.text, msgStatusCB.text);
    }
                else{
     ro.saveOldData(datetimetogether.dateField.text, datetimetogether.hoursField.text, datetimetogether.minutesField.text, datetimetogether.ampmList.selectedItem , datetimetogether2.dateField.text, datetimetogether2.hoursField.text, datetimetogether2.minutesField.text, datetimetogether2.ampmList.selectedItem , MsgHeader.text, MsgText.text, msgStatusCB.text,  dg.selectedItem.message_id);
    }
   }
  
   private function saveExt():void{
    if(isNewExt){
     ro.saveNewDataExt(MsgDateext.text, datetimetogetherext.dateField.text, datetimetogetherext.hoursField.text, datetimetogetherext.minutesField.text, datetimetogetherext.ampmList.selectedItem , datetimetogether2ext.dateField.text, datetimetogether2ext.hoursField.text, datetimetogether2ext.minutesField.text, datetimetogether2ext.ampmList.selectedItem ,MsgHeaderext.text, rte1.htmlText, msgStatusCBext.text, msgTypeCBext.text);
    }
                else{
     ro.saveOldDataExt(datetimetogetherext.dateField.text, datetimetogetherext.hoursField.text, datetimetogetherext.minutesField.text, datetimetogetherext.ampmList.selectedItem , datetimetogether2ext.dateField.text, datetimetogether2ext.hoursField.text, datetimetogether2ext.minutesField.text, datetimetogether2ext.ampmList.selectedItem , MsgHeaderext.text, rte1.htmlText, msgStatusCBext.text, msgTypeCBext.text, dg2.selectedItem.message_id);
    }
   }
    
  ]]>
</fx:Script>
<fx:Declarations>
 
  <mx:RemoteObject id="ro" destination="ColdFusion" showBusyCursor="true" source="ExceptionReporting.ExceptionMsgMgmt">
   <mx:method name="getData" result="getDataResult(event)" />
   <mx:method name="saveNewData" result="getDataResult(event)" />
   <mx:method name="saveOldData" result="getDataResult(event)" />
   <mx:method name="deleteData" result="getDataResult(event)" />
   <mx:method name="getDataExt" result="getDataExtResult(event)" />
   <mx:method name="saveNewDataExt" result="getDataExtResult(event)" />
   <mx:method name="saveOldDataExt" result="getDataExtResult(event)" />
   <mx:method name="deleteDataExt" result="getDataExtResult(event)" />
  </mx:RemoteObject>
  <s:CallResponder id="GetStatusListResult"/>
  <s:CallResponder id="GetTypeListResult"/>
  <exceptionmsgmgmt:ExceptionMsgMgmt id="exceptionMsgMgmt" fault="Alert.show(event.fault.faultString + '\n' + event.fault.faultDetail)" showBusyCursor="true"/>
  <mx:DateFormatter id="dateFormatter"
        formatString="{resourceManager.getString('FormattingValues', 'DATE_FORMAT')}"/>
  <mx:DateFormatter id="timeFormatter"
        formatString="L:NN A"/>   


  <!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<s:layout>
  <s:VerticalLayout gap="0"  paddingLeft="20" paddingRight="20" paddingTop="20" paddingBottom="20" />
</s:layout>
<s:VGroup width="1160" height="100%" gap="0">
  <s:HGroup width="100%" gap="0">
   <mx:Image source="images/HeaderLogo.jpg" left="0" right="0" />
   <mx:Image source="images/Headerlarge.jpg" left="0" right="0"/>
   <mx:Image source="images/HeaderGraphic.jpg" left="0" right="0"/>
  </s:HGroup>
  <s:Panel width="100%" height="100%">
   <mx:TabNavigator id="tn" width="100%" height="100%">
    <mx:VBox label="Manage INTERNAL Communications/Outages" height="100%">
     <s:HGroup width="100%" height="100%">
      <mx:HBox width="5"></mx:HBox>
      <mx:HBox width="100%" height="100%">
       <mx:VBox width="100%" height="100%">
       <mx:DataGrid width="100%" height="50%" borderStyle="none" id="dg"  change="isNew = false">
        <mx:columns>
         <mx:DataGridColumn width="100" headerText="Message Date" dataField="message_dt" labelFunction="DateFormatter" />
         <mx:DataGridColumn width="100" headerText="Begin Date" dataField="begin_dt" labelFunction="BeginDateFormatter" />
         <mx:DataGridColumn width="100" headerText="Begin Time" dataField="begin_dt" labelFunction="BeginTimeFormatter"  />
         <mx:DataGridColumn width="100" headerText="end Date" dataField="end_dt" labelFunction="EndDateFormatter"/>
         <mx:DataGridColumn width="100" headerText="end Time" dataField="end_dt"  labelFunction="EndTimeFormatter" />
         <mx:DataGridColumn width="70" headerText="ID" dataField="message_id"/>
         <mx:DataGridColumn headerText="Message Header" dataField="message_header"/>
         <mx:DataGridColumn headerText="Message Text" dataField="message_text" wordWrap="true"/>
         <mx:DataGridColumn width="100" headerText="Message Status" dataField="status_description"/>
        </mx:columns>
       </mx:DataGrid>
       <mx:Panel width="100%" height="100%" layout="absolute" label="Modifications Panel">
        <mx:Form top="0" bottom="0" right="0" left="0">
         <!--<mx:FormItem label="Message Date">
          <mx:TextInput id="MsgDate" text="{dg.selectedItem.message_dt}"/>
         </mx:FormItem>-->
         <mx:FormItem label="Message Date">
          <mx:DateField id="MsgDate" text="{dg.selectedItem.message_dt}" selectedDate="{dg.selectedItem.message_dt}" />
         </mx:FormItem>
         <mx:FormItem label="Downtime Begin Date and Time">
          <local:DateTimeField id="datetimetogether" enableSeconds="false"
                y="205"
                selectedDate="{dg.selectedItem.begin_dt}"
                xmlns:local="*" left="2" bottom="2" top="2" right="2" />
         </mx:FormItem>
         <mx:FormItem label="Downtime End Date and Time">
          <local:DateTimeField id="datetimetogether2" enableSeconds="false"
                y="205"
                selectedDate="{dg.selectedItem.end_dt}"
                xmlns:local="*" left="2" bottom="2" top="2" right="2" />
         </mx:FormItem>
         <mx:FormItem label="Message Header">
          <mx:TextInput id="MsgHeader"  width="700" height="25" text="{dg.selectedItem.message_header}"/>
         </mx:FormItem>
         <mx:FormItem label="Message Text">
          <mx:TextInput id="MsgText" text="{dg.selectedItem.message_text}" width="700" height="100"/>
         </mx:FormItem>
         <mx:FormItem label="Message Status">
          <mx:ComboBox id="msgStatusCB" creationComplete="msgStatusCB_creationCompleteHandler(event)" dataProvider="{GetStatusListResult.lastResult}" labelField="label"  selectedIndex="{findIndex(GetStatusListResult.lastResult, dg.selectedItem.status_description)}"/><!--change="msgStatusCB_changeHandler(event)"-->
         </mx:FormItem>
        </mx:Form>
       </mx:Panel>
        <mx:HBox>
         <mx:Button label="New" click="makeNew()"/>
         <mx:Button label="Save" click="save()" />
         <mx:Button label="Delete" click="deleteData()" /> 
        </mx:HBox>
       </mx:VBox>
      </mx:HBox>
     </s:HGroup>
    </mx:VBox>
    <mx:VBox label="Manage EXTERNAL Communications/Outages" height="100%">
       <mx:DataGrid width="100%" height="20%" borderStyle="none" id="dg2"  change="isNewExt = false" creationComplete="dg2_creationCompleteHandler(event)">
        <mx:columns>
         <mx:DataGridColumn width="100" headerText="Message Date" dataField="message_date" labelFunction="DateFormatterExt" />
         <mx:DataGridColumn width="100" headerText="Begin Date" dataField="begin_date" labelFunction="BeginDateFormatterExt" />
         <mx:DataGridColumn width="100" headerText="Begin Time" dataField="begin_date" labelFunction="BeginTimeFormatterExt"  />
         <mx:DataGridColumn width="100" headerText="end Date" dataField="end_date" labelFunction="EndDateFormatterExt"/>
         <mx:DataGridColumn width="100" headerText="end Time" dataField="end_date"  labelFunction="EndTimeFormatterExt" />
         <mx:DataGridColumn width="70" headerText="ID" dataField="message_id"/>
         <mx:DataGridColumn headerText="Message Header" dataField="message_header"/>
         <mx:DataGridColumn width="100" headerText="Message Status" dataField="status_description"/>
         <mx:DataGridColumn width="100" headerText="Message Status" dataField="downtime_description"/>
        </mx:columns>
       </mx:DataGrid>
     <mx:Panel width="100%" layout="absolute" title="Message Information" label="External Modifications Panel">
      <mx:Form top="0" bottom="0" right="0" left="0" label="Message Information">
       <mx:FormItem label="Message Date">
        <mx:DateField id="MsgDateext" text="{dg2.selectedItem.message_date}" selectedDate="{dg2.selectedItem.message_date}" />
       </mx:FormItem>
       <mx:FormItem label="Message Begin Date and Time">
        <local:DateTimeField id="datetimetogetherext" enableSeconds="false"
              y="205"
              selectedDate="{dg2.selectedItem.begin_date}"
              xmlns:local="*" left="2" bottom="2" top="2" right="2" />
       </mx:FormItem>
       <mx:FormItem label="Message End Date and Time">
        <local:DateTimeField id="datetimetogether2ext" enableSeconds="false"
              y="205"
              selectedDate="{dg2.selectedItem.end_date}"
              xmlns:local="*" left="2" bottom="2" top="2" right="2" />
       </mx:FormItem>
       <mx:FormItem label="Message Header">
        <mx:TextInput id="MsgHeaderext"  width="700" height="25" text="{dg2.selectedItem.message_header}"/>
       </mx:FormItem>

       <mx:FormItem label="Message Status">
        <mx:ComboBox id="msgStatusCBext" creationComplete="msgStatusCB_creationCompleteHandler(event)" dataProvider="{GetStatusListResult.lastResult}" labelField="label"  selectedIndex="{findExtIndex(GetStatusListResult.lastResult, dg2.selectedItem.status_description)}"/>
       </mx:FormItem>
      
       <mx:FormItem label="Message Type">
        <mx:ComboBox id="msgTypeCBext" creationComplete="msgTypeCB_creationCompleteHandler(event)" dataProvider="{GetTypeListResult.lastResult}" labelField="label"  selectedIndex="{findTypeIndex(GetTypeListResult.lastResult, dg2.selectedItem.downtime_description)}"/>
       </mx:FormItem>
      
      </mx:Form>
     </mx:Panel>
     <controls:ACJEditor  id="rte1"
            width="100%"
            height="45%"
            title="Message Content"
            htmlText="{dg2.selectedItem.message_content}"            
            />
     <mx:HBox>
      <mx:Button label="New" click="makeNewExt()"/>
      <mx:Button label="Save" click="saveExt()" />
      <mx:Button label="Delete" click="deleteDataExt()" /> 
     </mx:HBox>
    </mx:VBox>
   </mx:TabNavigator>
  </s:Panel>
</s:VGroup>
</s:Application>

I have looked through the code extensively and cannot see why getData is working and getDataExt seems to have an issue.  Again, if I dismiss the error, the site is actually working fine!  Thanks in advance for any help you can give me

This topic has been closed for replies.

1 reply

Participating Frequently
November 15, 2011

Please include a 'snip' of the ExceptionReporting.mxml class, maily the lines that error.

If your app works otherwise, then do a try/catch on the method or action to avoid the error - then continue to debug.  Because the data is based on a messaging system, be sure that all the variables are populating.