Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   package с функциями (http://www.flasher.ru/forum/showthread.php?t=129394)

footman 31.08.2009 20:08

package с функциями
 
что-то код моего приложения сильно разросся и я начал в нем путаться. Решил организовать функции в пакеты(packages) как раньше это делал с классами. Но проблема в том, что Flex функции в пакетах не видит. Call to undef function бла-бла-бла. собаственно код пакета примерно такой.
Код AS3:

package func
{
        import mx.controls.Alert;
 
        public function MyAlert():void
        {
                Alert.show("!");
                Alert.show("?");
        }
}

вариант с классами работает т.е. создаешь объект класса потом вызываешь методы из него. Но это не то что мне нужно. Нужно просто чтобы функции были доступны после импорта пакета в основное приложение.

Коряво конечно объяснил, но думаю Вы уловили суть.

MaxFX 31.08.2009 22:06

Можно в пакете сделать класс, а в этот класс положить статические методы и их вызвать где понадобится.

BlooDHounD 31.08.2009 23:02

а где пример использования этой вашей MyAlert? мой флекс всё видит.

footman 31.08.2009 23:16

Код AS3:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="onCC()">
 
        <mx:Script>
                <![CDATA[
                        import func.MyAlert;
 
                        public function onCC():void
                        {
                                func.MyAlert();
                        }
                ]]>
        </mx:Script>
 
</mx:Application>

структура проетка:
src/func/MyScript.as - пэкэдж
src/PackageTest.mxml - осн приложение

Добавлено через 1 минуту
вариант не с func.MyAlert();
а просто с MyAlert(); тоже не работает

etc 01.09.2009 07:54

А где у вас файл MyAlert.as в src/func/? В котором содержится функция MyAlert.
Имя файла должно соответствовать имени функции, описанной в нём.

footman 01.09.2009 11:11

а можно ли создавать в package'е больше чем одну функцию? или один файл-одна функция?

etc 01.09.2009 11:20

Один файл = одна функция.

footman 01.09.2009 12:49

спасибо

footman 27.11.2009 15:13

сорри, что поднимаю старую тему, но как оказалось я просто забыл ООП

нужно просто объявлять функции как статические, тогда объект класса создавать не нужно.


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

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