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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 09.07.2010, 16:05
MedvedevA вне форума Посмотреть профиль Отправить личное сообщение для MedvedevA Найти все сообщения от MedvedevA
  № 1  
Ответить с цитированием
MedvedevA

Регистрация: Jul 2006
Сообщений: 54
По умолчанию Проблемы при подключении flexlib. Какой-то конфликт.

У меня проект(система администрирования) состоит из большого количества файлов SWF. Есть главный файл SWF-mainmenu.swf, где находится главное меню. При выборе пункта меню в главный файл подгружаются другие флешки.

В одной флешке(monitoringUniversal.swf) нужно было использовать дополнительную библиотеку flexlib. Подключил и откомпилировал. Что бы заработало пришлось подключать и к главной флешке(mainmenu.swf) эту библиотеку, по другому отказывалось работать. После подключения к mainmenu.swf во всех остальных флешках(которые грузятся в нее) перестал правильно работать центрирование вложенных окон(PopUpManager.centerPopUp(this); ).

Структура проекта:
Код:
-mainmenu.swf(Чтобы заработал flexlib в monitoringUniversal.swf пришлось подключить flexlib  и сюда)
--monitoringUniversal.swf(Тут использовал flexlib)
--p1.swf(перестало корректно работать центрирование вложенных окон)
--p2.swf(перестало корректно работать центрирование вложенных окон)
--p3.swf(перестало корректно работать центрирование вложенных окон)
--p4.swf(перестало корректно работать центрирование вложенных окон)
--p5.swf(перестало корректно работать центрирование вложенных окон)
Вопросы:
1)Что там может конфликтовать и как решить проблему. Может как то пути прописать?
2)Почему в monitoringUniversal.swf не работают компоненты flexlib, до тех пор пока я библиотеку не подключу в mainmenu.swf?

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

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

Старый 09.07.2010, 16:48
MedvedevA вне форума Посмотреть профиль Отправить личное сообщение для MedvedevA Найти все сообщения от MedvedevA
  № 3  
Ответить с цитированием
MedvedevA

Регистрация: Jul 2006
Сообщений: 54
Цитата:
Сообщение от wvxvw Посмотреть сообщение
"Только ветер вам на это ответит" (цитата из какой-то песни )
в этой библиотеке куча всего, и никто не знает, что именно вы от туда использовали, да и качество этой библиотеки весьма сомнительно даже по сравнению с флексовым фреймворком в целом... Почему так подключается - компилируйте с -link-report и смотрите кто и от чего зависит... дело это не легкое, но вряд ли вам кто-то что-то более внятное посоветует.
Использую только SuperTabBar в monitoringUniversal.swf... Больше вообще ничего и нигде

Но почему все таки обязательео нужно подключать библиотеку к главному файлу, хоть она там вообще не используется? По другому в подгружаемой флешке отказывается работать(отя там библиотека тоже подключена). Это как то можно обойти, чтобы подключить только к подгружаемой флешке?
Тогда проблема отпадёт сама собой.


Последний раз редактировалось MedvedevA; 09.07.2010 в 16:57.
Старый 09.07.2010, 17:20
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 4  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

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

Старый 09.07.2010, 19:26
alexberkut вне форума Посмотреть профиль Отправить личное сообщение для alexberkut Найти все сообщения от alexberkut
  № 5  
Ответить с цитированием
alexberkut

Регистрация: Jun 2010
Адрес: Беларусь, Гродно
Сообщений: 58
Вопрос, ты скомпиленную либу как подключаешь?

1. merge into code
2. external library
3. RSL
?

Старый 10.07.2010, 00:06
MedvedevA вне форума Посмотреть профиль Отправить личное сообщение для MedvedevA Найти все сообщения от MedvedevA
  № 6  
Ответить с цитированием
MedvedevA

Регистрация: Jul 2006
Сообщений: 54
Цитата:
Сообщение от alexberkut Посмотреть сообщение
Вопрос, ты скомпиленную либу как подключаешь?

1. merge into code
2. external library
3. RSL
?
Пробовал merge into code и RSL.

Старый 12.07.2010, 11:00
alexberkut вне форума Посмотреть профиль Отправить личное сообщение для alexberkut Найти все сообщения от alexberkut
  № 7  
Ответить с цитированием
alexberkut

Регистрация: Jun 2010
Адрес: Беларусь, Гродно
Сообщений: 58
Если ты пробовал merge into code, то у тебя будет проблема в 99% случаев.
Допустим у тебя есть 2 swf и в каждой стоит merge into code. В таком случае один и тот же класс будет вкомпиливаться в каждую swf. Это и преведет потом к ошибке что класс не совпадает сам с собой (на самом деле это 2 инстанса одного класса).

Если же ты в обоих (именно в обоих) случаях используеь RSL то проблем не будет, т.е. классы вообще вкомпиливаться не будут и на рантайме при попытке обратиться к данному классу плеер просто подгрузит RSL по указанному адрессу и поднимит класс.
Если же ты в одной swf укажешь merge into code, а во второй RSL. То проблема опять же будет (см абзац выше).

Ты уверен что ты везде пробовал RSL? И что дебаг говорит? В трейсе есть какие-нибудь ошибки... Они должны быть.

Старый 13.07.2010, 13:28
MedvedevA вне форума Посмотреть профиль Отправить личное сообщение для MedvedevA Найти все сообщения от MedvedevA
  № 8  
Ответить с цитированием
MedvedevA

Регистрация: Jul 2006
Сообщений: 54
Цитата:
Сообщение от alexberkut Посмотреть сообщение
Если ты пробовал merge into code, то у тебя будет проблема в 99% случаев.
Допустим у тебя есть 2 swf и в каждой стоит merge into code. В таком случае один и тот же класс будет вкомпиливаться в каждую swf. Это и преведет потом к ошибке что класс не совпадает сам с собой (на самом деле это 2 инстанса одного класса).

Если же ты в обоих (именно в обоих) случаях используеь RSL то проблем не будет, т.е. классы вообще вкомпиливаться не будут и на рантайме при попытке обратиться к данному классу плеер просто подгрузит RSL по указанному адрессу и поднимит класс.
Если же ты в одной swf укажешь merge into code, а во второй RSL. То проблема опять же будет (см абзац выше).

Ты уверен что ты везде пробовал RSL? И что дебаг говорит? В трейсе есть какие-нибудь ошибки... Они должны быть.
Пробовал так и так. Ничего не влияет. Критичных Ошибок нету у меня.
Проблема только в том что перестало корретно работать функция PopUpManager.centerPopUp(this); Других проблем вообще нету. Тут большой проект и много вложенных окон. И даже такая мелочь это не очень хорошо. Других проблем кроме не правильной работы centerPopUp во всем большом проекте нету.

Обнаружил такую вещь. Так как определение centerPopUp находится в классе sdks\3.0.0\frameworks\projects\framework\src\mx\managers\PopUpManagerImpl.as вместо библиотеке framework.swc подключил исходники sdks\3.0.0\frameworks\projects\framework\ по методу http://www.brightworks.com/flex_ability/?p=99 И функция centerPopUp нормально заработала вместе с Flexlib.

Как с таким бороться вообще не понимаю. Не успевает что инициализироваться?! Может кто-нибудь зацепку подскажет какую-нибудь?


Последний раз редактировалось MedvedevA; 13.07.2010 в 13:42.
Старый 13.07.2010, 13:32
alexberkut вне форума Посмотреть профиль Отправить личное сообщение для alexberkut Найти все сообщения от alexberkut
  № 9  
Ответить с цитированием
alexberkut

Регистрация: Jun 2010
Адрес: Беларусь, Гродно
Сообщений: 58
Судя по тому что ты написал, проблемы с flexlib нет, тк у тебя всё грузить и показывается.

Код AS3:
PopUpManager.centerPopUp(this);
this - это что? Это должен быть контейнер относительно которого центрировать.

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

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

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


 


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


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