Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   Как получить ссылку на скинирующий класс (http://www.flasher.ru/forum/showthread.php?t=177273)

Rundll 28.03.2012 19:04

Как получить ссылку на скинирующий класс
 
Добрый день!

Имеется скинирующий класс RectSkinClass в котором программируется графика. Далее есть MXML в котором прописано что-то вроде этого:
Код AS3:

.rectSkinStyle
        {
            borderSkin : ClassReference("com.temp.RectSkinClass");
            background-color: white;
            font-size: 10;
            borderColor: black;
            borderThickness: 1;
            placement: center;
        }

Все это дело натягивается на экземпляр класса SimpleContainer путем следующей записи:
Код AS1/AS2:

container = new SimpleContainer();
container.styleName = "rectSkinStyle";

Вопрос который сводит меня с ума: как достучаться до скинирующего класса RectSkinClass и использовать его методы? Я пробовал писать что-то вроде этого:

Код AS3:

var classRef:RectSkinClass = getStyle("borderSkin") as RectSkinClass ;

но трассировщик возвращает null. Я всего лишь хочу добраться до открытых методов скинирующего класса из любого другого класса, как это правильно сделать?

Astraport 28.03.2012 19:33

А так?
Код AS3:

var classRef:RectSkinClass = new RectSkinClass() ;
var borderSkin:* =  classRef.getStyle("borderSkin");


Rundll 28.03.2012 19:41

Я оговорился, получить нужно ссылку не на класс, а на экземпляр класса RectSkinClass. А ваш код работает как надо, возвращается именно ссылка на класс. Грубо говоря, мне нужно подергать кое-какие свойства в экземпляре класса RectSkinClass, не могу понять как можно создать указатель на экземпляр.

P.S. а что означает '*' после borderSkin:?

djyamato 28.03.2012 19:53

Цитата:

Сообщение от Rundll (Сообщение 1071569)
P.S. а что означает '*' после borderSkin:?

Неопределенный тип, но лучше все же написать Object вместо *, насколько я понимаю


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

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