2010-04-13 2 views
-2

J'ai créé une petite application pour la connexion dans une application de bureau flexible. Dans lequel je me réfère à la méthode webservice pour la connexion pour cela ont créé la classe d'authentification. Maintenant, je veux faire référence à différentes valeurs de Textinput pour le non mobile et la valeur Textinput pour le mot de passe. Dans ma classe d'authentification. Pour cela, j'ai créé l'objet de classe mxml. Et en utilisant ceci, j'obtiens le mobile sans valeur et mot de passe dans la classe de script Mon Action.Obtenir TypeError: Erreur # 1009: Impossible d'accéder à une propriété ou à une méthode d'une référence d'objet nul

Ce mon code: -

fichier SBTS.mxml

<?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 classe: -

package src 

{ 
    import adobe.utils.XMLUI; 
import generated.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"); 

}  

} 

} 


} 

} 

Je reçois cette erreur: -

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]

S'il vous plaît aidez-moi à supprimer cette erreur. Parce que le fichier MXML n'a pas été ajouté à la liste d'affichage.

+3

Veuillez entourer votre code de pré-étiquettes de code. Et il me semble qu'il manque un code de balisage mxml. –

+0

qui doit être le pire formatage de code que j'ai jamais vu! – grapefrukt

Répondre

0

Le lecteur Flash est un thread unique et ne suspend pas l'opération de la manière dont votre code le pense. mobileno est nul car l'objet a été créé mais aucun de ses enfants n'en a.

Questions connexes