2012-03-04 160 views
0

我想从我的数据库中为我的Flex应用程序中的变量分配一个值。到目前为止,我读了一些想法和我此刻使用PHP Web服务下面的代码:Flex未将数据分配给变量

protected function btnSubmitUser_clickHandler(event:MouseEvent):void 
     { 
      username = txtUsername.text; 
      password = txtPassword.text; 
      serialno = txtSerialNo.text; 
      userName.writeUTFBytes(username); 
      passWord.writeUTFBytes(password); 
      serialNo.writeUTFBytes(serialno); 
      EncryptedLocalStore.setItem("Username", userName); 
      EncryptedLocalStore.setItem("Password", passWord); 
      EncryptedLocalStore.setItem("Serial", serialNo); 
      getRepnameByUsernameResult2.addEventListener(ResultEvent.RESULT, onMyResult); 
      getRepnameByUsernameResult2.token = repnameService.getRepnameByUsername(username); 
     } 

     protected function onMyResult(event:ResultEvent):void{ 
      repServ = getRepnameByUsernameResult2.lastResult as Repname; 
      repid = repServ.RepID; 
      RepID.writeInt(repid); 
      EncryptedLocalStore.setItem("Rep", RepID); 
      lblTestRep.text = RepID.toString(); 
     } 

的标签是一个测试标签来查看数据是否被正确分配。不幸的是,我得到的错误与这个地方,它宣称:

Error #1009: Cannot access a property or method of a null object reference. 
at views::SettingsView/onMyResult()[C:\Users\Justin\Adobe Flash Builder 4.6\Rep Aware\src\views\SettingsView.mxml:62] 

此错误是在上面的代码中发现repid = repServ.RepID;

任何帮助,我做错了,将不胜感激。

回答

0

该错误表示repServnull。所以在属性lastResult

repServ = getRepnameByUsernameResult2.lastResult as Repname; 

要么null,或者是Repname类型的不行。

第二个选项是可能的,因为使用as将对象转换为不相关的类型返回null。如果你不喜欢这样的同一炉将抛出一个异常:

repServ = Repname(getRepnameByUsernameResult2.lastResult); 
+0

谢谢:)我的工作了,我创造了我返回类型为不同的对象集,当我改变了返回类型回到Repname它的工作。 – Traven 2012-03-04 18:12:41