2011-11-02 86 views
0

我試圖創建一個添加用戶新用戶()的簡單表單。但是當我構建它時,我在同一行上得到兩個錯誤。新動作腳本

調用可能未定義的方法用戶。並且找不到類型或者不是編譯時間常量。

<?xml version="1.0" encoding="utf-8"?> 
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
         xmlns:s="library://ns.adobe.com/flex/spark" 
         xmlns:mx="library://ns.adobe.com/flex/mx" width="1116" height="633" initialize="windowedapplication1_initializeHandler(event)"> 
    <fx:Declarations> 
     <!-- Place non-visual elements (e.g., services, value objects) here --> 
    </fx:Declarations> 
    <fx:Script> 
     <![CDATA[ 
      import me.*; 
      var usercollection:Array = new Array(); 
      var userOne:User = new User; 


      protected function button1_clickHandler(event:MouseEvent):void 
      { 
       userOne.fname = firstNameInput.text; 
       userOne.lname = lastNameInput.text; 
       userOne.dob = dateChooser.selectedDate; 
       usercollection.push(); 
      } 

     ]]> 
    </fx:Script> 
    <mx:DataGrid x="832" y="9"> 
     <mx:columns> 
      <mx:DataGridColumn headerText="First Name" dataField="fname"/> 
      <mx:DataGridColumn headerText="LastName" dataField="lname"/> 
     </mx:columns> 
    </mx:DataGrid> 
    <mx:Form x="115" y="61" width="562" height="325"> 
     <mx:FormItem label="First Name"> 
      <s:TextInput id="firstNameInput"/> 
     </mx:FormItem> 
     <mx:FormItem label="Last Name"> 
      <s:TextInput id="lastNameInput"/> 
     </mx:FormItem> 
     <mx:FormItem label="Date Of Birth"> 
      <mx:DateChooser id="dateChooser"/> 
     </mx:FormItem> 
     <s:Button label="Submit" click="button1_clickHandler(event)"/> 
    </mx:Form> 
</s:WindowedApplication> 

實體包

package me.entities 
{ 
    public class Person 
    { 
     public var fname:String; 

     public var lname:String; 

     public var dob:Date; 
    } 

    public class User extends Person 
    { 
     public var crypted_password:String; 

     public var salt:String; 

     public var created_at:Date; 

     public var last_login:Date; 

     public var last_ip:String; 

    } 
} 

回答

1

你不能在同一個文件。作爲兩個公共類定義,並注意該文件必須具有相同的名稱作爲內部的公共類。

在你的情況下,你將有2個文件,一個名爲Person.as,另一個名爲User.as.你必須

Person.as

package me.entities 
{ 
    public class Person 
    { 
     public var fname:String; 

     public var lname:String; 

     public var dob:Date; 
    } 
} 

User.as

package me.entities 
{ 
    public class User extends Person 
    { 
     public var crypted_password:String; 

     public var salt:String; 

     public var created_at:Date; 

     public var last_login:Date; 

     public var last_ip:String; 

    } 
} 
+0

現在給了我這些錯誤。 -Person -1017:未找到基類Person的定義。 -15換線 –

+0

嗯,這對我很有用,所以我不知道爲什麼它不適合你。只是在一個全新的項目中進行測試。我編輯我的文章,因爲不需要導入行,但它應該工作。這只是無用的。 – Exort

+1

@atbyrd這個錯誤是因爲你沒有將Person類放入用戶類「import me.entities.User;」 –