Getting TypeError: Error #1009: Cannot access a property or method of a null object reference
I have created small application for login in flex desktop application. In which I am refering webservice method for login for this have created the Authentication class. Now I want to refer different Textinput value for mobile no and Textinput value for password. In my Authentication class.
for this I have created the object of mxml class.And using this I am getting the mobile no value and password value in My Action script class.
This my code :-
SBTS.mxml file
<?xml version="1.0" encoding="utf-8"?>
<!-- usingas/AccessingPackagedClasses.mxml -->
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
public function login():void
{
var User:Authentication;
User = new Authentication();
User.authentication();
}
]]>
</mx:Script>
<mx:Panel width="100%" height="100%" layout="absolute">
<mx:TabNavigator width="100%" height="100%" id="viewstack2">
<mx:Form label="Login Form" id="loginform">
<mx:FormItem label="Mobile no:">
<mx:TextInput id="mobileno"/>
</mx:FormItem>
<mx:FormItem label="Password:">
<mx:TextInput displayAsPassword="true" id="password" />
</mx:FormItem>
<mx:FormItem>
<mx:Button label="Login" click="login()"/>
</mx:FormItem>
</mx:Form>
<mx:Form label="Child List">
<mx:Label width="100%" color="blue"
text="Select Child."/>
</mx:TabNavigator>
</mx:Panel>
</mx:WindowedApplication>
Action script class :-
package src
{
import adobe.utils.XMLUI;
import generated.开发者_JAVA技巧webservices.*;
import mx.collections.ArrayCollection;
import mx.controls.Alert;
import mx.rpc.events.FaultEvent;
public class Authentication
{
[Bindable]
private var childName:ArrayCollection;
[Bindable]
private var childId:ArrayCollection;
private var photoFeed:ArrayCollection;
private var arrayOfchild:Array;
private var newEntry:GetSBTSMobileAuthentication;
public var user:SBTSWebService;
public var mxmlobj:SBTS;
public function authentication():void
{
user =
new SBTSWebService();
if(user!=null)
{
user.addSBTSWebServiceFaultEventListener(handleFaults);
user.addgetSBTSMobileAuthenticationEventListener(authenticationResult);
newEntry =
new GetSBTSMobileAuthentication();
if(newEntry!=null)
{
mxmlobj =
new SBTS();
if(mxmlobj != null)
{
newEntry.mobile = mxmlobj.mobileno.text; // Getting error here error mention below
newEntry.password= mxmlobj.password.text;
}
user.getSBTSMobileAuthentication(newEntry);
}
}
}
public function handleFaults(event:FaultEvent):void
{
Alert.show(
"A fault occured contacting the server. Fault message is: " + event.fault.faultString);
}
public function authenticationResult(event:GetSBTSMobileAuthenticationResultEvent):void
{
if(event.result != null && event.result._return>0)
{
if(event.result._return > 0)
{
var UserId:int = event.result._return;
if(mxmlobj != null)
{
mxmlobj.loginform.enabled =
false;
mxmlobj.viewstack2.selectedIndex=1;
}
}
else
{
Alert.show(
"Authentication fail");
}
}
}
}
}
I am getting this error :-
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at SBTSBusineesObject::Authentication/authentication()[E:\Users\User1\Documents\Fl ex Builder 3\SBTS\src\SBTSBusineesObject\Authentication.as:35]
at SBTS/login()[E:\Users\User1\Documents\Flex Builder 3\SBTS\src\SBTS.mxml:12]
at SBTS/___SBTS_Button1_click()[E:\Users\User1\Documents\Flex Builder 3\SBTS\src\SBTS.mxml:27]
Please help me to remove this error.
Because the MXML file hasn't been added to the display list. The Flash player is single threaded and doesn't suspend operation in the way your code thinks it does. mobileno is null because the object has been created but none of it's children have.
精彩评论