![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
все просто !!! разобрался
итак, чтобы управлять контролами из классов потомков, достаточно в классе потомке, создать публично статичную переменную, типизировав ее, как нужный нам контрол и из 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"/>
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. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
А передать ссылку на всю mxml-форму в какой-нибудь контроллер не судьба?
|
|
|||||
|
Modus ponens
|
Это работает вообще не так... MXML компонент конвертируется компайлером в АС класс приблизительно следующим образом: то, что объявлено в mx:Script становиться методами / свойствами этого класса, свойства прописаные в атрибутах компонента инициализируются во время выполнения конструктора этого сгенеренного класса. АС класс, который MXML компонент "оборачивает" не создается вообще никогда. Т.е. его конструктор вызывается только как super() по отношению к MXML компоненту, но никогда не самостоятельно.
Почитай про life cycle компонентов, и особенно про то, как они создаются в рантайме. Т.е. по большому счету, это мартышкин труд и никому не нужно получать описание того, что объявлено внутри MXML компонента в его суперклассе. Точно так же, как в Sprite не нужен gotoAndPlay().
__________________
Hell is the possibility of sanity |
|
|||||
|
ну про первую половину поста я так и подумал ))))
а вот про life cycle на досуге прочитаю спасибо да вот просто понадобилось, создать компонент визуально, а управлять им из класса, вот и прудмал танцы с бубном, по сути все работает поэтому и отписался, может у кого такая же не обходимость будет
__________________
на каком языке вы пишите? а на каком нужно? |
![]() |
![]() |
Часовой пояс GMT +4, время: 17:50. |
|
|
« Предыдущая тема | Следующая тема » |
|
|