Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 26.02.2011, 12:55
nOobCrafter вне форума Посмотреть профиль Отправить личное сообщение для nOobCrafter Найти все сообщения от nOobCrafter
  № 11  
Ответить с цитированием
nOobCrafter

Регистрация: Nov 2008
Сообщений: 894
Записей в блоге: 1
на основе статьи:
http://help.adobe.com/ru_RU/ActionSc...0204-7e07.html
честно перепробовал 3 варианта, только толку 0, по прежнему не могу привести к суперу( По идее мне должен подходить вариант С:
Цитата:
Этот метод позволяет загруженным модулям совместно использовать единичные объекты и статические элементы класса загружающего файла.

Следующий код создает дочерний домен для текущего домена и начинает загрузку SWF-файла с использованием нового домена приложений.
Код AS3:
var appDomainC:ApplicationDomain = new ApplicationDomain(ApplicationDomain.currentDomain); 
 
var contextC:LoaderContext = new LoaderContext(false, appDomainC); 
var loaderC:Loader = new Loader(); 
loaderC.load(new URLRequest("module3.swf"), contextC);
З.Ы. пробовал все в ФД локально, это может играть какую то роль?


Последний раз редактировалось nOobCrafter; 26.02.2011 в 13:01.
Старый 26.02.2011, 13:51
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 12  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Нет, вам нужно грузить в текущий, а не в новый. В новом все классы, даже если у них те же самые имена, это не те же классы, что и в текущем (за исключением встроенных, конечно).
__________________
Hell is the possibility of sanity

Старый 26.02.2011, 14:26
nOobCrafter вне форума Посмотреть профиль Отправить личное сообщение для nOobCrafter Найти все сообщения от nOobCrafter
  № 13  
Ответить с цитированием
nOobCrafter

Регистрация: Nov 2008
Сообщений: 894
Записей в блоге: 1
Код AS3:
var loaderC:Loader = new Loader(); 
loaderC.load(new URLRequest("module3.swf"), new LoaderContext(false, ApplicationDomain.currentDomain));
так тоже пробовал. Нет никаких ограничений?

Старый 26.02.2011, 19:34
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 14  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Если lоader в песочнице REMOTE, то loаdee будет загружен в другой SecurityDomain.

Код AS3:
const loader:  Loader = new Loader(); 
const lc:      LoaderContext = new LoaderContext(false, ApplicationDomain.currentDomain);
lc.securityDomain = Security.sandboxType == Security.REMOTE ? SecurityDomain.currentDomain : null;
 
loader.load(new URLRequest("module3.swf"), lc);
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 27.02.2011, 09:50
nOobCrafter вне форума Посмотреть профиль Отправить личное сообщение для nOobCrafter Найти все сообщения от nOobCrafter
  № 15  
Ответить с цитированием
nOobCrafter

Регистрация: Nov 2008
Сообщений: 894
Записей в блоге: 1
dimarik спс, попробую, итак:
Код AS3:
var contextC:LoaderContext = new LoaderContext(false, ApplicationDomain.currentDomain); 
	contextC.securityDomain = Security.sandboxType == Security.REMOTE ? SecurityDomain.currentDomain : null;
log = "SandBox type : " + Security.sandboxType;
var loaderC:Loader = new Loader(); 
	loaderC.contentLoaderInfo.addEventListener(Event.COMPLETE, 				onC);
	loaderC.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, 		onP);
	loaderC.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, 		onE);
	loaderC.contentLoaderInfo.addEventListener(HTTPStatusEvent.HTTP_STATUS, onS)
	loaderC.load(new URLRequest("http://allwillbeok.ru/flashtest/bin/data/m_kvartira1.swf"), contextC);
log = "Loading...";
 
private function onC(e:Event):void 
{
	log = "Load complete!";
	var item:BaseScene = e.target.content as BaseScene;
	log = "Item : " + item; // null если новый securityDomain 
}
если я делаю так то я вижу только надпись Loading... и все, ну и потом срабатывает httpStatus, если же ставлю новый securityDomain то грузится нормально но на выходе имеем тоже что и раньше, то есть каку.
З.Ы. вообщем если гружу с другого домена то получаю каку, если с текущего то все хорошо, это же относится и в тестированию в иде. То есть если скомпилить код как в примере выше то при компиляции в иде, у нас будет нул, это можно как то "нормализировать"?


Последний раз редактировалось nOobCrafter; 27.02.2011 в 10:00.
Старый 27.02.2011, 12:53
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 16  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
А зачем Вы документ класс loadee вкомпиливаете в загрузчик?
Попробуйте new ApplicationDomain(ApplicationDomain.currentDomain);

Здесь еще немного.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 27.02.2011, 13:34
nOobCrafter вне форума Посмотреть профиль Отправить личное сообщение для nOobCrafter Найти все сообщения от nOobCrafter
  № 17  
Ответить с цитированием
nOobCrafter

Регистрация: Nov 2008
Сообщений: 894
Записей в блоге: 1
Цитата:
А зачем Вы документ класс loadee вкомпиливаете в загрузчик?
не понял?

Старый 27.02.2011, 13:46
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 18  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Код AS3:
var item:BaseScene = e.target.content as BaseScene;
BaseScene — это же DocumentClass загружаемой флешки. Он же будет вкомпилен в лоадер.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 27.02.2011, 15:05
nOobCrafter вне форума Посмотреть профиль Отправить личное сообщение для nOobCrafter Найти все сообщения от nOobCrafter
  № 19  
Ответить с цитированием
nOobCrafter

Регистрация: Nov 2008
Сообщений: 894
Записей в блоге: 1
а как надо? О_о

Старый 27.02.2011, 18:11
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 20  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Цитата:
Сообщение от nOobCrafter Посмотреть сообщение
Код AS3:
var loaderC:Loader = new Loader(); 
loaderC.load(new URLRequest("module3.swf"), new LoaderContext(false, ApplicationDomain.currentDomain));
так тоже пробовал. Нет никаких ограничений?
Так должно было работать, недавно делал что-то похожее и столкнулся с не свсем понятной ситуацией - если классы находились во втором кадре, то нужно было перейти на второй кадр (не смотря на то, что он был уже загружен), без этого нельзя было получить определения от туда.
Что до компиляции BaseClass - ну как бы а почему бы и нет... я так понимаю, что именно в этом и задумка? Нет? В смысле нужно чтобы класс из загрузчика заменил класс в загружаемой флешке? Я бы для надежности, если такое возможно, попробовал скомпилировать загружаемую флешку с -externs BaseClass (ну только посмотрите правильный синтаксис, там по-идее нужно файл передавать, а не имя класса).
__________________
Hell is the possibility of sanity

Создать новую тему Ответ Часовой пояс GMT +4, время: 17:46.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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