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

wvxvw 05.02.2011 16:51

Добавить определение класса или функции в текущий аппдомейн без загрузки?
 
А хочется вот чего: например, создать функцию, не важно как, то ли получить по ссылке, то ли ее байткод записать, и, после этого, встроить ее в текущий ApplicationDomain, при этом не генерируя SWF и не загружая ничего (последняя операция асинхронная...). Должны же эти определения где-то храниться, и, в теории, туда должен быть доступ...

terbooter 05.02.2011 17:08

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

i.o. 05.02.2011 17:24

Ковырять нужно вероятно где-то здесь: (Domain, DomainEnv) http://hg.mozilla.org/tamarin-centra...cf6c8a86f/core

wvxvw 05.02.2011 17:39

terbooter: Может быть полезно - в метапрограмировании. Примеров масса, ну, скажем, в игре у вас персонаж может совершать определенные действия, а вы хотите разные последовательности этих действий описать и дать возможность их сохранять. Или, вы делаете графический редактор, в которм вы хотите добавть опцию скриптования (чтобы можно было применить тот же набор операций к разным картинкам).

А хочется, примерно такого:
Код AS3:

var playerStrategy:Class = new RuntimeClass("tld.mygame.runtime::PlayerStrategy", properties, methods, interfaces, extends, isDynamic, isFinal);
var strategy:Object = new playerStrategy();

i.o. хех, буду разбираться...

alatar 05.02.2011 18:30

У teotigraphix, что-то подобное есть. https://github.com/teotigraphix/asblocks

Добавлено через 1 минуту
Раньше эта либа называлась as3parser, под этим названием больше инфы в сети.


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

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