Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Не могу загрузить swf созданный pdf2swf (swftools) (http://www.flasher.ru/forum/showthread.php?t=165767)

filepark 26.08.2011 14:39

Не могу загрузить swf созданный pdf2swf (swftools)
 
Помогите, пожалуйста, разобраться.
С помощью pdf2swf пакета swftools перевёл одну страницу из pdf в swf-файл. Пишу программу для просмотра этой страницы. При компиляции во Flash CS5, всё загружается, отображается. Однако, при запуске моего swf-а этого не происходит, в текстовом поле testTextField, отображающем ход загрузки, выходит “0”, т.е. загрузка остановлена.
Вероятно, дело в ограничениях безопасности, что делать?

Код AS3:

package  {
        import flash.display.*;
        import flash.events.*;
        import flash.net.URLRequest;
        import flash.text.TextField;
 
        public class swfTestMain extends Sprite{
                private var mediaLoader:Loader = new Loader();
                public var mediaAddress:String = "111.swf";
                private var testTextField:TextField;
 
                public function swfTestMain() {
                        mediaLoader.load(new URLRequest(mediaAddress));
                        addChild(mediaLoader);
                        mediaLoader.contentLoaderInfo.addEventListener(Event.INIT, mediaLoaderInit);
                        mediaLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, mediaLoaderComplete);
                        mediaLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, mediaLoaderProgress);
                        mediaLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, mediaLoaderError);
                        createTextField();
                }
                private function mediaLoaderInit(evt:Event):void {
                        testTextField.text = "Init";
                }
                private function mediaLoaderComplete(evt:Event):void {
                        testTextField.text = "Complete";
                }
                private function mediaLoaderProgress(evt:ProgressEvent):void {
                        if (evt.bytesLoaded != 0) {
                                testTextField.text = String(Math.round(evt.bytesTotal/evt.bytesLoaded*100));
                        } else {
                                testTextField.text = String(evt.bytesLoaded);
                        }
                }
                private function mediaLoaderError(evt:IOErrorEvent=null):void {
                        testTextField.text = "Error";
                }
 
                private function createTextField():void {
                        testTextField = new TextField();
                        testTextField.x=testTextField.y=5;
                        testTextField.textColor = 0x000000;
                        addChild(testTextField);
                }
        }
 
}


Genzo 26.08.2011 16:45

откуда грузите crossdomain есть?

Добавлено через 3 минуты
http://help.adobe.com/ru_RU/as3/dev/...8a9b90204-7e08

filepark 26.08.2011 16:57

всё локально, всё в одной папке

Genzo 26.08.2011 18:33

Цитата:

События
asyncError:AsyncErrorEvent — Отправленный contentLoaderInfo объект, если LoaderContext.requestedContentParent свойства были указаны, и он не возможен добавить загруженное содержимое как дочернего элемента к указанному DisplayObjectContainer. Это могло произойти, если загруженное содержимое — flash.display.AVM1Movie или при вызове addChild() к requestedContentParent выдается ошибка.

complete:Event — Передается объектом contentLoaderInfo по завершении загрузки файла. Событие complete всегда отправляется после события init.

httpStatus:HTTPStatusEvent — Передается объектом contentLoaderInfo, когда совершается сетевой запрос по протоколу HTTP, а проигрыватель Flash Player может определить код состояния HTTP.

init:Event — Передается объектом contentLoaderInfo когда становятся доступны свойства и методы загруженного SWF-файла. Событие init всегда предшествует событию complete.

ioError:IOErrorEvent — Отправляется объектом contentLoaderInfo, когда происходит ошибка ввода-вывода, приводящая к сбою операции загрузки.

open:Event — Отправляется объектом contentLoaderInfo после начала операции загрузки.

progress:ProgressEvent — Отправляется объектом contentLoaderInfo по мере получения данных во время операции загрузки.

securityError:SecurityErrorEvent — Отправляется объектом contentLoaderInfo, если SWF-файл в изолированной программной среде файловой системы пытается загрузить содержимое из изолированной программной среды сети и наоборот.

securityError:SecurityErrorEvent — Отправленный contentLoaderInfo объект, если LoaderContext.requestedContentParent свойства были указаны и "песочница" системы защиты LoaderContext.requestedContentParent не имеет доступа к загруженному SWF.

unload:Event — Отправляется объектом contentLoaderInfo при удалении загруженного объекта.

попробуйте отследить побольше событий и узнаете в чем дело

filepark 27.08.2011 04:35

Я добывил два слушателя:
Код AS3:

mediaLoader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
mediaLoader.contentLoaderInfo.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);

вышло сообшение securityErrorHandler: [SecurityErrorEvent type="securityError" bubbles=false cancelable=false eventPhase=2 text="Error #2140"]

У моей программы локальная область действия, в настройках pdf2swf нет указания на область действия создаваемого swf
Как узнать включена ли поддержка сети у загружаемого swf-а?


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

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