Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Нестабильная работа приложения состоящего из нескольких внешних swf (http://www.flasher.ru/forum/showthread.php?t=132971)

bedazzled 24.11.2009 16:36

Нестабильная работа приложения состоящего из нескольких внешних swf
 
Здравствуйте!

У меня есть громоздкое приложение, которое состоит из нескольких подргужаемых swf файлов, которые являются частью GUI.
Приложение работает прекрасно всегда и везде, когда я его запускаю из среды разработки Flash CS4.
Когда я запускаю собранную swf или exe файл, то на некоторых компьютерах оно работает, а на некоторых нет. Т.е. все запускается, но не подгружаются некоторые swf файлы.
Самое странное, что на первом компе оно работает всегда, если приложение лежит на диске D: и в любом подкаталоге диска, и не работает ни в одном из подкаталогов диска С:. А на втором компе работает с диска С: и не работает с флэшки с обоих компов.

Вот такая вот задача для доктора Хауса, если бы он был AS3 программером.
Есть какие-нибудь предположения чем может быть вызвано подобное поведение?
Спасибо!

iflamberg 24.11.2009 16:43

как подгружаете-то эти внешние swf?

например, у флеша есть фича, если loader был объявлен внутри функции, то он может быть съеден сборщиком мусора, даже несмотря на то, что загружает в себя данные.

bedazzled 24.11.2009 16:50

Загружаю все так:

Код AS3:

MenuStaticImage = new Loader ();        
          MenuStaticImage.contentLoaderInfo.addEventListener (Event.COMPLETE, onLoadComplete);
      addChild (MenuStaticImage);


iflamberg 24.11.2009 16:54

ну вот. попробуй так:
Код AS3:

//private class variables
private var loaders:Array = [];
...
//function code
MenuStaticImage = new Loader ();       
          MenuStaticImage.contentLoaderInfo.addEventListener (Event.COMPLETE, onLoadComplete);
      addChild (MenuStaticImage);
loaders.push (MenuStaticImage);


bedazzled 24.11.2009 17:05

Цитата:

Сообщение от iflamberg (Сообщение 867971)
ну вот. попробуй так:
Код AS3:

//private class variables
private var loaders:Array = [];
...
//function code
MenuStaticImage = new Loader ();       
          MenuStaticImage.contentLoaderInfo.addEventListener (Event.COMPLETE, onLoadComplete);
      addChild (MenuStaticImage);
loaders.push (MenuStaticImage);


не помогло.

Кстати, а непосредсвенно этот Loader вызывается из главного класса вот так:

Код AS3:

_stageLeftBar.MenuStaticImage.unload();
_stageLeftBar.MenuStaticImage.load(new URLRequest( "graphics//menus//menuStatic.swf" ));

Добавлено через 1 час 29 минут
нашел причину!
Надо пути писать так:
Код AS3:

_stageLeftBar.MenuStaticImage.load(new URLRequest( "graphics/menus/menuStatic.swf" ));

а я писал так:
Код AS3:

_stageLeftBar.MenuStaticImage.load(new URLRequest( "graphics//menus//menuStatic.swf" ));



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

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