我正在尝试将数据库中的值分配给Flex应用程序中的变量。到目前为止,我已经阅读了一些想法,目前我使用PHP Web服务获得了以下代码:
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 :(得分:0)
该错误表示repServ
为null
。所以属性lastResult
位于:
repServ = getRepnameByUsernameResult2.lastResult as Repname;
是null
,或者不是Repname
类型。
第二个选项是可行的,因为使用as
将对象强制转换为不相关的类型会返回null
。如果你这样做,同样的演员会抛出异常:
repServ = Repname(getRepnameByUsernameResult2.lastResult);