Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   Доступ к свойствам в myComponent (http://www.flasher.ru/forum/showthread.php?t=81570)

unKnow 22.06.2006 16:17

Доступ к свойствам в myComponent
 
Несмог найти a хелпе - может кто знает

создал в проекте свой компонент movieCard
Код:

<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="100" height="140" cornerRadius="10" backgroundColor="#c0c0c0">
        <mx:Label id="nameMovie" x="10" y="6"/>
</mx:Canvas>

вызываю его
Код:

import myComponents.*;

var myCard:movieCard = new movieCard();
myCard.toolTip = "Тултип работает" ;
myCard.move(10, 10);                               
myCanvas.addChild(myCard);

копилю - все ок card появляется!
тултип присутствует!

теперь пытаюсь достучатся к любому из свойств моего компонента
Код:

import myComponents.*;

var myCard:movieCard = new movieCard();
myCard.toolTip = "Тултип работает" ;
myCard.nameMovie.text = "БлаБлаБла";
myCard.move(10, 10);                               
myCanvas.addChild(myCard);

в редакторе набрав myCard. - появляется набор допустимых строк
!!!!в том числе nameMovie - выбираю его!!!!

myCard.nameMovie. - снова набор и снова правильный (для Label)

тоесть редактор видит все вложения моего компонента!!

компилю и .......
дебагер сообщает ошибку
Error #1009: Cannot access a property or metod of a null object reference.

и браузер вешается намертво!

в чем грабли?

fishbounce 22.06.2006 16:45

Попробуй обратиться к nameMovie после добавления компонента на сцену, т.е. после addChild. Возможно, твой label еще не создан, а ты пытаешься к нему обратиться.

unKnow 22.06.2006 17:10

а ларчик просто открывался - спасибо помогло

есть еще вопрос
mx:Move
можно его использовать в моем компоненте
и если да то какая иерархия?

структура типа
Код:

<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="100" height="140" cornerRadius="10" backgroundColor="#c0c0c0">
        <mx:Move id="moveLBL" target="{lblBox}"/>
        <mx:SWFLoader id="cardCover" showBusyCursor="true" toolTip="" width="100%" horizontalCenter="0" top="0" height="100%" mouseOver="moveLBL.yTo=0; moveLBL.play();" mouseOut="moveLBL.yTo=-50; moveLBL.play();"/>
        <mx:Canvas id="lblBox" x="0" y="-50" width="100" height="50" backgroundColor="#c40000">
                <mx:Label id="cardLbl" width="100%" horizontalCenter="0" textAlign="center" height="30" verticalCenter="0"/>
        </mx:Canvas>
</mx:Canvas>

не срабатывает :(хотя в корневом файле проекта такое обращение работает нормуль..

fishbounce 22.06.2006 17:54

Вообще можно. Ты уверен, что у тебя срабатывают твои события mouseOver, mouseOut для swfLoader? Думаю, проблема в нем.

unKnow 23.06.2006 12:25

спасиба разобрался - сам дурак
пока в SWFLoader - не загрузишь контент - овер не срабатывает
а я тестировал без загрузки контента :)


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

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