Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   Создание компонентов in run-time (http://www.flasher.ru/forum/showthread.php?t=105934)

Rution 27.12.2007 08:51

Создание компонентов in run-time
 
Здраствуйте. Столкнулся с проблемой. Наформе динамически нужно создавать объекты и менять их свой-ва в гриде... создавать объекты получается но как найти имя нового созданного компонента, т.к. если мы обращаемся к неизвестному компоненту, Flex начинает ругаться и говрит что нельзя обратится к неизвестному объекту, раньше помниться в AS2 можно было _root['имя']... Возможно не очень понятно изложил вопрос...:wacko: Заранее спасибо...

baron27 27.12.2007 13:25

можно задать имя компонента (name) и обращаться из родителя getChildByName(name), можно задать id и делать this[id].

NePridymal 27.12.2007 18:48

А так чем не подходит? :

Код:

  var myUIComponent:UIComponent = new UIComponent();
 
  addChild(myUIComponent);
 
  // myUIComponent - вот созданный компонент. В чем проблема то?


Rution 27.12.2007 23:50

Ну так не подходит потому что в таком виде объект будет описан только лишь внутри функ-ии, а нужно чтобы его сво-ва были видны за пределами функ-ии... а если описывать вне функ-ии, то другая проблемма кол-во компонентов заранее не изветно...
Проблема решилась.... СПАСИБО baron27... он подтолкнул на решение :) Если кому нужно будет потом выложу фрагмент...

etc 28.12.2007 03:22

Что помешало сохранить ссылку на компонент в поле класса?

Rution 28.12.2007 04:04

Цитата:

Сообщение от __etc
Что помешало сохранить ссылку на компонент в поле класса?

А можно как нить пподробнее... :wacko: уже совсем не соображаююю :(

etc 28.12.2007 10:44

А, я проглядел про динамическое количество компонентов…
Тогда getChildByName подойдет.

Rution 28.12.2007 12:00

getChildByName почему-то тоже не олучается... допустим пример, появляется Тext, задаем ему имя 'text1' и id так-же. Вс екомпонент создан, теперь мы решаем изменить его сво-во htmlText, я делаю:
1)getChildByName('text1').htmlText... и начинаются траблы, по понятным причинам, эта функция возвращает объект Display, в принципе если менять полодение, размер, то работает, а вот с такими сво-ами... нет :(((
2) если использовать this['text1'], то почему-то вообще ничего не работает...
ПОМОГИТЕ!!!

Bruiser 28.12.2007 12:03

(obj.getChilByName('text1') as Text).htmlText= ""

Rution 28.12.2007 23:41

YES!!!!


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

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