TypeError: Error #1009: Cannot access a property or method of a null object reference.
I have a mxml file that has actionscript inside of it, I’m trying to call a function in a button outside of this actionscript in the same mxml file. I’m calling the public function cancel(); like this click=“cancel();” but i’m getting an error 1009 that I can’t access a property or method of a null object reference. please help out! :joker:
<?xml version="1.0" encoding="utf-8"?>
<mx:HBox
xmlns:mx="http://www.adobe.com/2006/mxml"
width="400"
height="35"
horizontalGap="5"
horizontalAlign="right"
verticalAlign="middle">
<mx:Script>
<![CDATA[
import com.callwave.web.fuze.view.conference.components.lists.ConferenceListRenderer;
import com.callwave.web.fuze.puremvc.conference.upload.UploadCompleteEvent;
import com.callwave.model.ucapi.conference.Conference;
import flash.events.DataEvent;
import flash.events.Event;
import flash.events.EventDispatcher;
import flash.events.IOErrorEvent;
import flash.events.ProgressEvent;
import flash.events.SecurityErrorEvent;
import flash.net.FileReference;
import flash.net.URLRequest;
import com.callwave.model.conferencestore.ConferenceWithMedia;
import com.callwave.model.ucapi.meeting.Meeting;
import com.callwave.shared.nex.NEX;
import mx.core.UIComponent;
private var fileRef:FileReference;
private var m_meeting:Meeting;
private var m_aborted:Boolean;
private var m_progress:Number;
private var m_mediaId:Number = -1;
private var m_filename:String;
public function initUploadListeners(fileRef:FileReference, meeting:Meeting){
this.fileRef = fileRef;
this.m_meeting = meeting;
m_aborted = false;
fileRef = new FileReference();
fileRef.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, onUploadComplete);
fileRef.addEventListener(Event.CANCEL, onCancel);
fileRef.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
fileRef.addEventListener(Event.OPEN, onOpen);
fileRef.addEventListener(ProgressEvent.PROGRESS, onProgress);
fileRef.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecurityError);
}
private function removeEventListeners():void {
fileRef.removeEventListener(DataEvent.UPLOAD_COMPLETE_DATA, onUploadComplete);
fileRef.removeEventListener(Event.CANCEL, onCancel);
fileRef.removeEventListener(IOErrorEvent.IO_ERROR, onIOError);
fileRef.removeEventListener(Event.OPEN, onOpen);
fileRef.removeEventListener(ProgressEvent.PROGRESS, onProgress);
fileRef.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecurityError);
}
public function get aborted() : Boolean {
return m_aborted;
}
public function getFileRef():FileReference {
return this.fileRef;
}
public function get meeting():Meeting {
return this.m_meeting;
}
public function get progress():Number {
return m_progress;
}
public function get mediaId():Number {
return m_mediaId;
}
public function set mediaId(mediaId:Number):void {
m_mediaId = mediaId;
}
public function upload(urlRequest:URLRequest):void {
this.fileRef.upload(urlRequest, "media", false);
}
public function cancel():void{
m_aborted = true;
this.fileRef.cancel();
}
public function onUploadComplete(event:DataEvent):void {
var data:XML = XML(event.data);
removeEventListeners();
dispatchEvent(new UploadCompleteEvent(data,meeting));
}
private function onProgress(event:ProgressEvent):void {
m_progress = Math.round(event.bytesLoaded/event.bytesTotal*100);
dispatchEvent(event);
}
private function onCancel(event:Event):void {
m_aborted = true;
removeEventListeners();
dispatchEvent(event);
}
private function onIOError(event:IOErrorEvent):void {
m_aborted = true;
removeEventListeners();
dispatchEvent(event);
}
private function onOpen(event:Event):void {
dispatchEvent(event);
}
private function onSecurityError(event:SecurityErrorEvent):void {
m_aborted = true;
removeEventListeners();
dispatchEvent(event);
}
]]>
</mx:Script>
<mx:Label
id="action"
fontWeight="bold" />
<mx:Label
id="fileName"
maxWidth="80"/>
<mx:ProgressBar
id="uploadProgress"
width="100"
label=""
labelPlacement="left"
mode="manual" />
<mx:Button
id="button1"
styleName="close"
toolTip="test"
click="cancel();"/>
</mx:HBox>