Flex不将数据分配给变量

时间:2012-03-04 17:40:50

标签: flex flash-builder flex4.5 flex4.6

我正在尝试将数据库中的值分配给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;处找到。

对于我做错的任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

该错误表示repServnull。所以属性lastResult位于:

repServ = getRepnameByUsernameResult2.lastResult as Repname;

null,或者不是Repname类型。

第二个选项是可行的,因为使用as将对象强制转换为不相关的类型会返回null。如果你这样做,同样的演员会抛出异常:

repServ = Repname(getRepnameByUsernameResult2.lastResult);