Автор Тема: flex3/flex4  (Прочетена 1662 пъти)

0 Потребители и 1 Гост преглежда(т) тази тема.

smarfy02

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 13
  • -Получени: 0
  • Публикации: 907
  • https://www.facebook.com/pages/Стилияне-ние-сме-с-
    • smarfy02
flex3/flex4
« -: 24 Октомври 2011, 17:22:41 »
Здр много се зарадвах като видях че има уроци за flex.Аз лично използвам flex 4
Пробвах да направя нещо като сайт с логин и регестрация,но като се свържа с базата данни и приложа връзката както е показано в урока  ,и по същия начин създвам формата за регестрация но ми изписва тази грешка
Цитат
1120: Access of undefined property user_idTextInput.    reg.mxml    /mcf2/src    line 15    Flex Problem
ето кода:
<?xml version="1.0" encoding="utf-8"?>
<s:Group xmlns:fx="http://ns.adobe.com/mxml/2009"
         xmlns:s="library://ns.adobe.com/flex/spark"
         xmlns:mx="library://ns.adobe.com/flex/mx"
         xmlns:valueObjects="valueObjects.*"
         xmlns:usersservice="services.usersservice.*"
         width="400" height="300">
    <fx:Script>
        <![CDATA[
            import mx.controls.Alert;
           
            protected function button_clickHandler(event:MouseEvent):void
            {
                var users2:Users = new Users();
                users2.user_id = parseInt(user_idTextInput.text);
                users2.username = usernameTextInput.text;
                users2.password = parseInt(passwordTextInput.text);
                users2.email = emailTextInput.text;
               
                createUsersResult.token = usersService.createUsers(users2);
            }
           
        ]]>
    </fx:Script>
    <fx:Declarations>
        <valueObjects:Users id="users"/>
        <usersservice:UsersService id="usersService"
                                   fault="Alert.show(event.fault.faultString + '\n' + event.fault.faultDetail)"
                                   showBusyCursor="true"/>
        <s:CallResponder id="createUsersResult"/>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
    </fx:Declarations>
    <s:Form defaultButton="{button}">
        <s:FormItem label="Username">
            <s:TextInput id="usernameTextInput" text="{users.username}"/>
        </s:FormItem>
        <s:FormItem label="Password">
            <s:TextInput id="passwordTextInput" text="{users.password}"/>
        </s:FormItem>
        <s:FormItem label="Email">
            <s:TextInput id="emailTextInput" text="{users.email}"/>
        </s:FormItem>
        <s:Button id="button" label="CreateUsers" click="button_clickHandler(event)"/>
    </s:Form>
</s:Group>
« Последна редакция: 24 Октомври 2011, 17:29:09 от smarfy02 »
https://www.facebook.com/pages/Стилияне-ние-сме-с-теб-Победата-е-твоя/

edembg

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 2
  • Публикации: 47
Re: flex3/flex4
« Отговор #1 -: 25 Октомври 2011, 18:01:05 »
Не виждам никъде да имаш компонент с id="user_idTextInput". Или го добави във формата или дай стойност 0, ако това е форма за добавяне на потребител.
И най-ярките личности си плащат тока

smarfy02

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 13
  • -Получени: 0
  • Публикации: 907
  • https://www.facebook.com/pages/Стилияне-ние-сме-с-
    • smarfy02
Re: flex3/flex4
« Отговор #2 -: 25 Октомври 2011, 20:26:28 »
Не виждам никъде да имаш компонент с id="user_idTextInput". Или го добави във формата или дай стойност 0, ако това е форма за добавяне на потребител.
добре.Точно така форма за създаване на потребители, а ми за логване може ли някакви съвети ?
https://www.facebook.com/pages/Стилияне-ние-сме-с-теб-Победата-е-твоя/

edembg

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 2
  • Публикации: 47
Re: flex3/flex4
« Отговор #3 -: 26 Октомври 2011, 09:42:37 »
Това е една от мойте login форми:

<?xml version="1.0" encoding="utf-8"?>
<s:BorderContainer xmlns:fx="http://ns.adobe.com/mxml/2009"
   xmlns:s="library://ns.adobe.com/flex/spark"
   xmlns:mx="library://ns.adobe.com/flex/mx" height="160">
<s:layout>
<s:VerticalLayout horizontalAlign="center" paddingTop="10" paddingBottom="10"/>
</s:layout>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<fx:Script>
<![CDATA[
import edem_remote.edem_remote;

import flash.net.SharedObject;
import flash.ui.Keyboard;

import mx.collections.ArrayCollection;
import mx.controls.Alert;
import mx.managers.PopUpManager;

import settings.GlobalSettings;

import utils.edem_utils;

[Bindable] private var lang:Object = {_usr: 'Username:', _pss: 'Password:', _li: 'Login', unit: 'Unit:',
select: 'Select', wrong_pass: 'Wrong username or passord'}
private var _callback:Function;
private var usernames_list:Array;

public function set language(a:Object):void
{
if (a != null) this.lang = a;
}

public function set callback(a:Function):void
{
if (a != null) this._callback = a;
}

private function check():void
{
var remote:edem_remote;

this.err_msg.text = "";
if (this.user.text == null || this.user.text == '')
{
this.user.setFocus();
return;
}
if (this.pass.text == null || this.pass.text == '')
{
this.pass.setFocus();
return;
}
remote = GlobalSettings.GetInstanse().get_remote();
remote[GlobalSettings.GetInstanse().get_setting('method')](login_after, {go: 'login', username: this.user.text, password: this.pass.text});
}

private function login_after(t:Object):void
{
var l:Array;

if (t.hasOwnProperty('loged'))
{
if (t.loged == false) this.err_msg.text = lang.wrong_pass;
else {
if (t.hasOwnProperty('agency_list'))
{
this.n_form.includeInLayout = false;
this.n_form.visible = false;
this.agency.dataProvider = new ArrayCollection(t.agency_list as Array);
this.a_form.includeInLayout = true;
} else {
if (this._callback != null)
{
this._callback(t);
}
PopUpManager.removePopUp(this);
}
}
} else {
this.err_msg.text = "Problem verifiing username or passord.\nPlease try again.";
}
}

private function forse_submit(event:KeyboardEvent):void
{
if (event.keyCode == Keyboard.ENTER) this.li.dispatchEvent(new MouseEvent('click'));
}

private function send():void
{
var remote:edem_remote;

if (this.agency.selectedItem != null)
{
remote = GlobalSettings.GetInstanse().get_remote();
remote[GlobalSettings.GetInstanse().get_setting('method')](login_after, {go: 'ag_sel', agency: this.agency.selectedItem.id});
}
}
]]>
</fx:Script>
<s:Label text="" color="red" id="err_msg"/>
<mx:Form id="n_form">
<mx:FormItem id="us" label="{lang._usr}">
<s:TextInput id="user" keyUp="forse_submit(event);"/>
</mx:FormItem>

<mx:FormItem id="ps" label="{lang._pss}">
<s:TextInput id="pass" displayAsPassword="true" keyUp="forse_submit(event);"/>
</mx:FormItem>
<mx:FormItem label="">
<s:Button id="li" label="{lang._li}" click="check();" />
</mx:FormItem>
</mx:Form>
<mx:Form id="a_form" includeInLayout="false">
<mx:FormItem id="ag" label="{lang.unit}">
<s:ComboBox id="agency" labelField="name" />
</mx:FormItem>
<mx:FormItem label="">
<s:Button id="li1" label="{lang.select}" click="send();" />
</mx:FormItem>

</mx:Form>
</s:BorderContainer>

При submit праща заявка за проверка на паролата. Ако не е валидна показва съобщение, ако е валидна се обажда на главния скрипт, който я сваля от екрана.
И най-ярките личности си плащат тока

smarfy02

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 13
  • -Получени: 0
  • Публикации: 907
  • https://www.facebook.com/pages/Стилияне-ние-сме-с-
    • smarfy02
Re: flex3/flex4
« Отговор #4 -: 26 Октомври 2011, 11:29:00 »
Това е една от мойте login форми:

<?xml version="1.0" encoding="utf-8"?>
<s:BorderContainer xmlns:fx="http://ns.adobe.com/mxml/2009"
               xmlns:s="library://ns.adobe.com/flex/spark"
               xmlns:mx="library://ns.adobe.com/flex/mx" height="160">
   <s:layout>
      <s:VerticalLayout horizontalAlign="center" paddingTop="10" paddingBottom="10"/>
   </s:layout>
   <fx:Declarations>
      <!-- Place non-visual elements (e.g., services, value objects) here -->
   </fx:Declarations>
   <fx:Script>
      <![CDATA[
         import edem_remote.edem_remote;
         
         import flash.net.SharedObject;
         import flash.ui.Keyboard;
         
         import mx.collections.ArrayCollection;
         import mx.controls.Alert;
         import mx.managers.PopUpManager;
         
         import settings.GlobalSettings;
         
         import utils.edem_utils;
         
         [Bindable] private var lang:Object = {_usr: 'Username:', _pss: 'Password:', _li: 'Login', unit: 'Unit:',
               select: 'Select', wrong_pass: 'Wrong username or passord'}
         private var _callback:Function;
         private var usernames_list:Array;
                 
         public function set language(a:Object):void
         {
            if (a != null) this.lang = a;
         }

         public function set callback(a:Function):void
         {
            if (a != null) this._callback = a;
         }
         
         private function check():void
         {
            var remote:edem_remote;

            this.err_msg.text = "";
            if (this.user.text == null || this.user.text == '')
            {
               this.user.setFocus();
               return;
            }
            if (this.pass.text == null || this.pass.text == '')
            {
               this.pass.setFocus();
               return;
            }
            remote = GlobalSettings.GetInstanse().get_remote();
            remote[GlobalSettings.GetInstanse().get_setting('method')](login_after, {go: 'login', username: this.user.text, password: this.pass.text});
         }
         
         private function login_after(t:Object):void
         {
         var l:Array;

         if (t.hasOwnProperty('loged'))
            {
            if (t.loged == false) this.err_msg.text = lang.wrong_pass;
            else {
               if (t.hasOwnProperty('agency_list'))
                  {
                  this.n_form.includeInLayout = false;
                  this.n_form.visible = false;
                  this.agency.dataProvider = new ArrayCollection(t.agency_list as Array);
                  this.a_form.includeInLayout = true;
                  } else {
                  if (this._callback != null)
                     {
                     this._callback(t);
                     }
                  PopUpManager.removePopUp(this);
                  }
               }
            } else {
            this.err_msg.text = "Problem verifiing username or passord.\nPlease try again.";
            }
         }
         
         private function forse_submit(event:KeyboardEvent):void
         {
            if (event.keyCode == Keyboard.ENTER) this.li.dispatchEvent(new MouseEvent('click'));
         }
         
         private function send():void
         {
            var remote:edem_remote;

            if (this.agency.selectedItem != null)
            {
               remote = GlobalSettings.GetInstanse().get_remote();
               remote[GlobalSettings.GetInstanse().get_setting('method')](login_after, {go: 'ag_sel', agency: this.agency.selectedItem.id});
            }
         }
      ]]>
   </fx:Script>
   <s:Label text="" color="red" id="err_msg"/>
   <mx:Form id="n_form">
      <mx:FormItem id="us" label="{lang._usr}">
         <s:TextInput id="user" keyUp="forse_submit(event);"/>
      </mx:FormItem>

      <mx:FormItem id="ps" label="{lang._pss}">
         <s:TextInput id="pass" displayAsPassword="true" keyUp="forse_submit(event);"/>
      </mx:FormItem>
      <mx:FormItem label="">
         <s:Button id="li" label="{lang._li}" click="check();" />
      </mx:FormItem>
   </mx:Form>
   <mx:Form id="a_form" includeInLayout="false">
      <mx:FormItem id="ag" label="{lang.unit}">
         <s:ComboBox id="agency" labelField="name" />
      </mx:FormItem>
      <mx:FormItem label="">
         <s:Button id="li1" label="{lang.select}" click="send();" />
      </mx:FormItem>

   </mx:Form>
</s:BorderContainer>

При submit праща заявка за проверка на паролата. Ако не е валидна показва съобщение, ако е валидна се обажда на главния скрипт, който я сваля от екрана.
ще мога ли да използвам ?
https://www.facebook.com/pages/Стилияне-ние-сме-с-теб-Победата-е-твоя/

edembg

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 2
  • Публикации: 47
Re: flex3/flex4
« Отговор #5 -: 26 Октомври 2011, 18:07:56 »
Трябва да си го нагласиш за свойте нужди. Иначе може да ползваш каквото ти харесва.
И най-ярките личности си плащат тока