Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Использование локальной функции (http://www.flasher.ru/forum/showthread.php?t=129209)

MaxFX 27.08.2009 01:52

Использование локальной функции
 
Возможно ли локальной функции вызвать методы данного класса, а саму локальную функцию передать в другой объект для вызова. Вот пример:

Код AS3:

class a
{
        var b1: b;
 
        function l()
        {
                this.doSomeMethod();
        }
 
        function s()
        {
                b1 = new b();
                b1.meth = function() { l(); };
        }
}
class b
{
        var meth;
 
        function bt_press() { meth(); }; //Можно ли вызвать?
}

P.S.: При вызове meth выдается сообщение, что это не метод :eek:

wvxvw 27.08.2009 02:32

Вы уверены, что вы на AS3 пишете?

MaxFX 27.08.2009 02:35

Цитата:

Сообщение от wvxvw (Сообщение 846011)
Вы уверены, что вы на AS3 пишете?

это концептуальный пример, на модификаторы доступа и другие мелочи я забил.

wvxvw 27.08.2009 02:39

В данном примере они важны. Кроме того, то, что вы пытаетесь сделать просто не нужно делать никогда (т.е. не нужно использовать анонимные функции).

MaxFX 27.08.2009 02:44

Цитата:

Сообщение от wvxvw (Сообщение 846015)
В данном примере они важны. Кроме того, то, что вы пытаетесь сделать просто не нужно делать никогда (т.е. не нужно использовать анонимные функции).

Когда я объявлял у себя в основном проекте анонимную функцию, то всегда еррор, но если просто объявить функцию методом класса, то все ок. Не очень понятно почему так происходит. Просто анонимные функции моем случае более удобно использовать. Кстати, проблема так же была если функцию локально в методе прописать.

wvxvw 27.08.2009 03:00

>> Просто анонимные функции моем случае более удобно использовать
Вы ошибаетесь, в AS не бывает таких случаев.

MaxFX 27.08.2009 03:14

Цитата:

Сообщение от wvxvw (Сообщение 846020)
>> Просто анонимные функции моем случае более удобно использовать
Вы ошибаетесь, в AS не бывает таких случаев.

Учту. :victory:

Герыч 27.08.2009 11:00

а мне анонимные функции нравится использовать в самом главном классе, который всё равно будет уничтожен только при закрытии приложения. В глубинах кодах никогда не юзаю.


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

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