Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Flex

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 24.10.2008, 07:15
darksranger вне форума Посмотреть профиль Отправить личное сообщение для darksranger Посетить домашнюю страницу darksranger Найти все сообщения от darksranger
  № 1  
Ответить с цитированием
darksranger
 
Аватар для darksranger

блогер
Регистрация: Jun 2007
Адрес: in sankt - peterburg
Сообщений: 787
Записей в блоге: 2
Отправить сообщение для darksranger с помощью ICQ
По умолчанию как отправить сообщение в mx:Script ?

все просто !!! разобрался

итак, чтобы управлять контролами из классов потомков, достаточно в классе потомке, создать публично статичную переменную, типизировав ее, как нужный нам контрол и из mxml приложения, передать ссылку, на нужный обьект и уже в классе управлять контролом
вот пример

это тело нашего mxml приложения, возмем в пример контрол Text, итак
Код:
<mx:Script>

import samePackage.MyClass


...

private function sameMetod():void {
    
    MyClass.Text = Text

}


 </mx:Script>


<mx:Text x="357.5" y="78" width="189" id="sameText"/>
далее тело class'a

Код:
package samePackage.MyClass
{
// не забываем про импорт
      import mx.controls.Text;
      ....
      public static var sameText:Text
       
      private function sameFunction():void{

           sameText.text = "hell world"    - собственон мы имеим все свойства компонента, расположенного в mxml ))))) 
           
     }

ну, а теперь не сложными телодвижениями, отправляем сообщение в наш mxml, передав в класс таким же путем "this", мы сможем передать сообщение как обычно ( у нас же будет ссылка на родителя


PS надеюсь кому то пригодится )))) и выслушал бы, с удовольствием мысли, по поводу такого метода передачи


UPD

чем черевато такое действо


в классе делаю public static var sameFunc:Function

далее в теле класса

передаю в sameFunc адрес метода

и в mxml приложении читаю таким способом

sameClass.sameFunc()

собственно, все работает, но вопрос чем это черевато ? и вобще, плохо так поступать ? может лучше будет, отправить сообщение ?
ведь метод то мы не определяем, как static но обращаемся с ним как со static, через ссылку


размышляю дальше
так как mxml приложение не наследуется от eventa, то получается и разослать мы не кому не можем ? или можем ?

вобщем как поступить ?
__________________
на каком языке вы пишите?
а на каком нужно?


Последний раз редактировалось darksranger; 24.10.2008 в 12:27.
Старый 24.10.2008, 12:50
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
А передать ссылку на всю mxml-форму в какой-нибудь контроллер не судьба?

Старый 24.10.2008, 13:16
darksranger вне форума Посмотреть профиль Отправить личное сообщение для darksranger Посетить домашнюю страницу darksranger Найти все сообщения от darksranger
  № 3  
Ответить с цитированием
darksranger
 
Аватар для darksranger

блогер
Регистрация: Jun 2007
Адрес: in sankt - peterburg
Сообщений: 787
Записей в блоге: 2
Отправить сообщение для darksranger с помощью ICQ
судьба только подскажите как

и вобще что насчет "UPD" ?
__________________
на каком языке вы пишите?
а на каком нужно?

Старый 25.10.2008, 02:53
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 4  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Это работает вообще не так... MXML компонент конвертируется компайлером в АС класс приблизительно следующим образом: то, что объявлено в mx:Script становиться методами / свойствами этого класса, свойства прописаные в атрибутах компонента инициализируются во время выполнения конструктора этого сгенеренного класса. АС класс, который MXML компонент "оборачивает" не создается вообще никогда. Т.е. его конструктор вызывается только как super() по отношению к MXML компоненту, но никогда не самостоятельно.
Почитай про life cycle компонентов, и особенно про то, как они создаются в рантайме.
Т.е. по большому счету, это мартышкин труд и никому не нужно получать описание того, что объявлено внутри MXML компонента в его суперклассе. Точно так же, как в Sprite не нужен gotoAndPlay().
__________________
Hell is the possibility of sanity

Старый 25.10.2008, 03:47
darksranger вне форума Посмотреть профиль Отправить личное сообщение для darksranger Посетить домашнюю страницу darksranger Найти все сообщения от darksranger
  № 5  
Ответить с цитированием
darksranger
 
Аватар для darksranger

блогер
Регистрация: Jun 2007
Адрес: in sankt - peterburg
Сообщений: 787
Записей в блоге: 2
Отправить сообщение для darksranger с помощью ICQ
ну про первую половину поста я так и подумал ))))

а вот про life cycle на досуге прочитаю спасибо

да вот просто понадобилось, создать компонент визуально, а управлять им из класса, вот и прудмал танцы с бубном, по сути все работает поэтому и отписался, может у кого такая же не обходимость будет
__________________
на каком языке вы пишите?
а на каком нужно?

Создать новую тему Ответ Часовой пояс GMT +4, время: 23:56.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 23:56.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.