Форум 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=113879)

JesterAntik 11.07.2008 19:48

Работа с собственными компонентами
 
Легко получается создать свои собственные компаненты, настроить их свойства в визуальном редакторе или MXML-тэге. Однако как только пытаюсь работать в скрипте, выдает ошибку. Говорит что неправильно обращаюсь к свойствам не статических компонент.
Как правильно вызвать функцию, описанную в собственной компоненте или получить доступ к переменной?

zlatko 13.07.2008 20:31

Без кода трудно что-то предполагать...

JesterAntik 15.07.2008 14:51

Создал компонент на основе Panel.
И добавил туда метод clickBtn();
Код:

<?xml version="1.0" encoding="utf-8"?>
<mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml"
        layout="absolute"
        width="400" height="300">
        <mx:Script>
                <![CDATA[
                        public function clickBtn():void
                        {
                        testBTn.visible="flase";
                        }
                ]]>
        </mx:Script>
        <mx:Button id="testBtn" click"clickBtn()"/>
</mx:Panel>

Затем добавляю в основное приложение этот компонент и еще одну кнопку, которая должна вызывать метод описанный в компоненте.
Код:

<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
        xmlns:ns1="*">
<mx:Script>
                <![CDATA[
                       
                        public function testClick():void
                        {
                                testcomp.clickBtn();
                        }
                ]]>
        </mx:Script>
        <mx:Canvas width="556" height="368" cornerRadius="10" backgroundColor="#F70A0A">
                                <mx:Button label="test" click="testClick()" x="100" y="100"/>
                                <ns1:testcomp x="157" y="47">
                                </ns1:testcomp>
        </mx:Canvas>
</mx:Application>

При компиляции проекта выдается ошибка
Цитата:

Severity and Description Path Resource Location
1061: Call to a possibly undefined method clickBtn through a reference with static type Class. test/src test.mxml line 9

JesterAntik 15.07.2008 14:52

как правильно обратиться или описать метод что бы он был доступен из основного приложения?

mitado 15.07.2008 15:45

обращайся через id компонента, но не через имя его класса.

JesterAntik 15.07.2008 16:08

Спасибо, как-то сразу такое очевидное не подумал, пробовал добавить Id, но почему-то задавал его при объявлении компонента :)


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

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