Новый в действии скрипт - PullRequest
0 голосов
/ 02 ноября 2011

Я пытаюсь создать простую форму, которая добавляет пользователя нового пользователя ().Но когда я его создаю, я получаю две ошибки в одной строке.

Вызовите возможно неопределенный метод User.и Тип не был найден или не был постоянной времени компиляции.

<?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 Ответ

1 голос
/ 02 ноября 2011

В одном файле .as не может быть двух определений общедоступных классов, и обратите внимание, что файл должен иметь то же имя, что и общедоступный класс внутри.

В вашем случае у вас будет 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;

    }
}
...