|
|
|
|||||
Регистрация: Jul 2011
Сообщений: 121
|
Обновление методов "на лету"
Есть задача, чтоб определённые функции после запуска основного ПО можно было менять (код)
Подгрузка дополнительного кода происходит из внешних swf файлов. Первичная загрузки при старте приложения проходит на ура: работают методы загруженной флешки, создание экземпляров объектов из библиотеки загруженной, обращение к переменным родительской и так далее. Но вот засада: повторная загрузка изменённого файла загружаемой флешки не прёт. Методы и значения переменных в "загруженной " не меняются. Основная var fnc:* //...тут код загрузки файла. LoaderContext.allowCodeImport присвоено true function loadedFnc(e:Event):void{ if (fnc) fnc=null; fnc=e.target.content; trace(fnc.getVars(this)) } function getParInfo():String{ return "Parent swf. Running and cozy."; } var par:* var id:int=345; function getVars(parnt:*):void{ par=parnt; trace(par.getParInfo()); trace("Loaded swf id =",id); } Кто уже пробовал копать в данной тематике? Добавлено через 2 минуты Загрузка происходит через File. Среда выполнения AIR
__________________
for (year=0;year<life;year++) {birthday(year)} |
|
|||||
При загрузке нужно передавать в get запрос случайный аргумент, чтобы он не кешировался.
Например, это можно сделать добавлением к адресу флешки Цитата:
__________________
There is no thing in this world that is not simple. |
|
|||||
Регистрация: Jul 2011
Сообщений: 121
|
Не совсем понял про случайный аргумент.
ZackMercury, ты предлагаешь не заменять а загружать новые флешки с уникальным окончанием? Поясни. Спасибо Попробовал loader.UnloadAndStop(true) должен чистить кэш от прошлых данных. Перед вызовом метода UnloadAndStop я сбрасываю значения переменных в загруженной флешке в null, чтоб дальше GarbageCollector доделал свою часть, но странно, ни то не то не помогло.
__________________
for (year=0;year<life;year++) {birthday(year)} |
|
|||||
Цитата:
Зак тебе правильный пример привел. В URL, то, что идет после знака ? - это параметры. Просто передавай любой уникальный параметр, и браузер не будет кешировать запрос. Вернее, кешировать будет, но так как запрос каждый раз будет разный, то и ответ будет возвращаться не из кеша, а грузиться заново. У тебя должно получиться что-то типа Цитата:
__________________
Ко мне можно и нужно обращаться на ты) |
|
|||||
Регистрация: Jul 2011
Сообщений: 121
|
Да не. Теперь я понял к чему был такой ответ, спасибо, caseyryan, за пояснение. Неее, всё происходит локально. За обновление этих файлов у меня отвечает другое ПО (Яндекс диск - так удобнее), он уже самостоятельно ломится на свой сервер и оттуда закачивает обновлённые данные. Загружаемая флешка с функциями и библиотеками всегда в одном и том же месте. Загрузка происходит прямой ссылкой на локальный объект в выполняемую программу в среде AIR.
Добавлено через 1 минуту Но совет обязательно применю когда дойду до разработки мобильного ПО
__________________
for (year=0;year<life;year++) {birthday(year)} |
Часовой пояс GMT +4, время: 15:04. |
|
« Предыдущая тема | Следующая тема » |
|
|