Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   CS3 vs CS4 загружаемые swf. Бредовое поведение? (http://www.flasher.ru/forum/showthread.php?t=149391)

Blax 24.01.2011 11:45

CS3 vs CS4 загружаемые swf. Бредовое поведение?
 
Доброго утра и начала недели!
Воскресенье было вбито в...(нехорошее слово) вот по какому поводу:

a1.fla компилируем CS3, получаем a1.swf

полностью аналогичный (копия того же самого fla)
a2.fla компилируем CS4, получаем a2.swf

В файле проекта загружаем оба.
Делаем:
Код AS3:

var lClassName:String=getQualifiedClassName(myLoader.content);
var loaderClass:Class=myLoader.contentLoaderInfo.applicationDomain.getDefinition(lClassName) as Class;
trace (loaderClass);

получаем совершенно разные результаты.
В первом случае (CS3)
[class MainTimeline] (который содержит одного ребёночка, с которым замечательно можно работать дальше, например создавать новые инстансы. В общем по документации всё).

Во втором случае (CS4)
[class MovieClip] (с которым работать невозможно дальше, так как он ничего не содержит, то есть совершенно пуст). (Но Loader успешно загрузился).

Прошу совета \ помощи \ направления для копания. Ну не правильно это, помимо того, что проект остановился, это словно трещина в рассудке не даёт спать спокойно :)

mikhailk 24.01.2011 12:05

Переходите на CS5.
Не надо работать на CS3 и тем более CS4.

Blax 24.01.2011 12:08

В догонку:
И почему первая строка работает, а вторая "A term is undefined and has no properties". Ведь если верить документации, то записи равнозначны... Мистика
Код AS3:

var mclass=myLoader.contentLoaderInfo.applicationDomain.getDefinition(className) as Class;
var mclass=myLoader.content.LoaderInfo.applicationDomain.getDefinition(className) as Class;

http://www.clickon.ru/demo/doca.gif

Добавлено через 28 минут
Т.е. лечится какими-то 25-27 кРублями?
Неожиданный совет... :)

iNils 24.01.2011 13:26

Цитата:

Сообщение от mikhailk (Сообщение 967335)
Не надо работать на CS3 и тем более CS4.

Аргументы какие?

Psycho Tiger 24.01.2011 13:38

Те же, что и у меня.

iNils 24.01.2011 13:59

Цитата:

Сообщение от Psycho Tiger (Сообщение 967366)

Я там не вижу аргументов.

Psycho Tiger 24.01.2011 14:04

Работает быстрее, это самое главное.
Мнения столкнулись в комментариях.

iNils 24.01.2011 14:16

Цитата:

Работает быстрее, это самое главное.
Тише едешь, дальше будешь. На небольших проектах это никакой роли не играет. А учитывая, что сейчас все меньше и меньше программируют в flash ide, то покупать программу ценой в 1 тыс $ ради пару запусков в месяц, становится не целесообразно.
Цитата:

Мнения столкнулись в комментариях.
Что сводит аргумент на ноль.

Blax 24.01.2011 14:24

Господа, а по сути вопроса что? Сталкивались ведь наверняка?

p. s. по флейму.
Что-то тема про CS5 наводит на мысль посидеть ещё годик на CS3.
Как с фотошопом - после 7 версии одна вялотекущая эволюция в основном в сторону потребляемых ресурсов. Ничего критически полезного для веб-разработки не добавилось, но версий вышло... Так зачем платить за то, чем не пользуешься?

Psycho Tiger 24.01.2011 14:37

Цитата:

Что сводит аргумент на ноль.
С чего это? Половина говорит что быстрее, половина говорит что медленнее. Нужно забить на мнение половины, только потому что у другой половины оно другое?
Почти установили, что дело в конфигурации компьютера. А судя из названия топика автору вполне следует предложить попробовать CS5, он вполне может быть одним из тех, кому CS5 придётся по душе.
Цитата:

покупать программу ценой в 1 тыс $ ради пару запусков в месяц, становится не целесообразно.
После жуткого гемора с CS4 и кривыми swc из CS3 как то не жалко. А ещё есть триалка на 30 дней чтобы понять, надо ли.

iNils 24.01.2011 14:48

Цитата:

Нужно забить на мнение половины, только потому что у другой половины оно другое?
Из математики: +1-1 = 0.
Цитата:

А судя из названия топика автору вполне следует предложить попробовать CS5, он вполне может быть одним из тех, кому CS5 придётся по душе.
Я бы предложил IDE для кода и Flex SDK.
Цитата:

кривыми swc из CS3
Увы, не могу тебя понять, у меня swc прямые получаются.
Цитата:

А ещё есть триалка на 30 дней чтобы понять, надо ли.
В том то и проблема, что если flash ide используется не часто, то триалка по дням плохой вариант.

Aquahawk 24.01.2011 14:58

Цитата:

Сообщение от Blax (Сообщение 967336)
Код AS3:

var mclass=myLoader.contentLoaderInfo.applicationDomain.getDefinition(className) as Class;
var mclass=myLoader.content.LoaderInfo.applicationDomain.getDefinition(className) as Class;


Нет не равнозначны
Код AS3:

var mclass=myLoader.contentLoaderInfo.applicationDomain.getDefinition(className) as Class;
/*myLoader.contentLoaderInfo это loaderInfo от внутренней swf, то что доступно как свойство
loaderInfo в DocumentClass в подгружаемой swf*/

 
var mclass=myLoader.content.LoaderInfo.applicationDomain.getDefinition(className) as Class;
/*а это вообще кривая запись. myLoader.content это объект DocumentClass подгружаемой swf и
там нет никакого LoaderInfo (с большой буквы это класс) если вы попробуете достучаться
myLoader.content.loaderInfo то это тоже будет не оно а loaderInfo от подгружающей свф т.к.
подгружаемая дисплейобджектом лежит на подгружающей и её loaderInfo такой же как у
подгружающей */

Добавлено через 3 минуты
Забыл ещё, если не секретно, можно вашу fla архивом выложить тут? А то больно интересно как возможны изложенные вами глюки.

Psycho Tiger 24.01.2011 15:14

Цитата:

Из математики: +1-1 = 0.
"Один умер от ожирения, другой от голода. В целом оба питались нормально." Ага, отличная математика.

Цитата:

Я бы предложил IDE для кода и Flex SDK.
Это тоже неплохо.

iNils 24.01.2011 15:37

Цитата:

"Один умер от ожирения, другой от голода. В целом оба питались нормально." Ага, отличная математика.
-1-1=-2

Psycho Tiger 24.01.2011 15:53

Вообще-то мы считаем качество питания, а не трупы.
Норма = 0, переел +1, недоел -1.

iNils 24.01.2011 16:15

Цитата:

Сообщение от Psycho Tiger (Сообщение 967448)
Вообще-то мы считаем качество питания, а не трупы.
Норма = 0, переел +1, недоел -1.

Любой пример можно привести к абсурду.
На этом вопрос о скорости CS5 в данной теме закрыт.

mikhailk 24.01.2011 17:34

Не по скорости можно? :)

Когда собирал G-Трек, столкнулся с ситуацией, когда ни CS3, ни CS4 не смогли мне правильно скомпилировать библиотеку. Т.е., библиотека компилировалась, но поведение было не предсказуемым. Постоянно какие-то классы отваливались, что-то с чем-то конфликтовало. Очевидно, из-за размера библиотеки, поскольку сначала все было хорошо.

Озвучил свои проблемы тут, мне было рекомендовано перейти на CS5, что я и сделал. Проблемы сами собой отпали. Собственно, это и было единственной причиной, почему я порекомендовал топикстартеру перейти на CS5.

iNils 24.01.2011 18:24

Цитата:

Когда собирал G-Трек, столкнулся с ситуацией, когда ни CS3, ни CS4 не смогли мне правильно скомпилировать библиотеку. Т.е., библиотека компилировалась, но поведение было не предсказуемым. Постоянно какие-то классы отваливались, что-то с чем-то конфликтовало. Очевидно, из-за размера библиотеки, поскольку сначала все было хорошо.

Озвучил свои проблемы тут, мне было рекомендовано перейти на CS5, что я и сделал. Проблемы сами собой отпали. Собственно, это и было единственной причиной, почему я порекомендовал топикстартеру перейти на CS5.
Я как раз не по скорости и хотел услышать, да тут тигер влез.
Вопрос. CS3 и CS4 не могли только на одной машине скомпилировать, или же пробовалось на разных? Я это к тому, что могла быть кривая установка и такое же могло произойти со временем и на CS5.

mikhailk 24.01.2011 18:58

Пробовалось на разных, пробовалось с переустановкой, шаманскими плясками и бубнами. Два дня потратил. :) У CS3 есть ограничение по количеству классов, которое может быть в одном swc.
И в CS4 оно перешло по наследству.

А в CS5 его вроде как нет, либо оно существенно увеличено.

iNils 24.01.2011 19:56

Цитата:

У CS3 есть ограничение по количеству классов, которое может быть в одном swc.
Это как советовать покупать грузовик, владельцу легковой, у которого колесо спустилось.
Я вот не разу не сталкивался с проблемой генерации CS3. И не факт, что столкнусь, а если уж столкнусь, то swc это zip с swf и описанием, так что в крайнем случаи можно руками собрать. Или у swf тоже ограничения?
А вот отсутствие поддержки 10-го плеера, самая актуальная проблема, которая может возникнуть.

wvxvw 24.01.2011 20:02

Мои 5 копеек не в кассу: Флеш таки да генерит кривые SWC - шейп твины (в DefineShape может записать невалидную коллекцию ShapeEdge и тогда флексовый компилятор умрет в муках...) но это такое...
А по теме - не вдаваясь в тонкости того как вы получаете информацию о классе - а что если просто назначить какой-нибудь класс-документ - изменится поведение?

JackFromChaos 24.01.2011 20:04

Наверное оффтоп, из плюсов cs5 - более удобная работа с embed fonts...
Хотя, может мне почему то не везет, но перешел на cs4 с cs5 по причине частого падения последнего. На выходе у меня получалось, что cs4 намного быстрее пятого... Причем в cs4 после пятерки количество глюков уменьшилось на порядок...

i.o. 24.01.2011 20:24

Цитата:

(в DefineShape может записать невалидную коллекцию ShapeEdge и тогда флексовый компилятор умрет в муках...)
wvxvw, можно пример, в целях ознакомления? :)

wvxvw 24.01.2011 21:12

http://bugs.adobe.com/jira/browse/SDK-18355
И там еще было несколько таких, что-то "пофиксили", в смысле "научили" флексовый компилятор не замечать флешевые ошибки, что-то может еще нет.


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

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