![]() |
|
||||||||||
|
|||||
|
Регистрация: Sep 2005
Сообщений: 30
|
Я занимаюсь написанием библиотеки, которая может дополняться из вне. Тоесть swf работает с сервером, и сервер вызывает какуе-то функциональность у swf. В случае её отсутствия, сервер предоставляет ссылку на swf модуль с функциональностью. В общем-то я предполагал, что будет невидимый movieclip в который будут погружаться swf. Я провёл кое-какое тестирование и обнаружил что это не обязательно.
Я создал 2 файла. Тот, который подгружает и тот, который подгружается. function Func()
{
trace("Hello from "+this);//Owner name output.
}
_root.FC = Func;//function upload to _root
var MCL:MovieClipLoader = new MovieClipLoader();
var l1:Object = new Object();//listener object
l1.onLoadInit = function(mc) {
trace("1");
_root.Target.Func();//i am trying to call function from uplaoded MC
trace("2");
_root.FC();//i am trying to call function that was copyed from uplaoded MC
trace("3");
_root.Target.removeMovieClip();
_root.Target.Func(); //trying to call function after removal
trace("4");
_root.FC(); //caling copyed function
};
MCL.addListener(l1);
_root.createEmptyMovieClip("Target",0);
MCL.loadClip("HelloWorld.swf", _root.Target);//Uploaded file should be in the same directory as this swf
При запуске я получаю следующий вывод: 1 Hello from _level0.Target 2 Hello from _level0 3 4 Hello from _level0 Выходит что, не смотря на удаление MC предоставившего функцию функция в текущем MC не перестаёт работать. Я бы хотел поинтересоваться у местных Guru, на сколько корректно так поступать и может ли это привести к ошибкам. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
ZOOM:
![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 02:50. |
|
|
« Предыдущая тема | Следующая тема » |
|
|