IOError, trotz EventListener? [Flash 10]
| Beiträge: 26 Registriert: Sep 2010
| 02.11.2011, 20:12
Hallo.
Mit dem unteren Code bekomme ich ständig einen "Unhandled IOError", obwohl ich eigentlich auf das meiste einen EventListener gesetzt habe, der das überwachen sollte.
Es ist eine AIR-Anwendung, die mit dem "AIR for iOS"-Exporter erstellt wurde. Es sollte eine SWF-Datei laden und ausgeben. Da ich beim Laden mit Loader, ohne Temp-Datei, die ganze Zeit einen Security-Error bekam, habe ich mich entschlossen, den Inhalt der Datei binär auszulesen, und in eine temporäre Datei zu schreiben.
Fehlermeldung (tritt beim Aufruf des zweiten Schlüsselbildes auf):
ActionScript:1 | Error #2044: Unhandled IOErrorEvent:. text=Error #2035: URL Not Found.
|
Schlüsselbild 1:
ActionScript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | import flash.events.MouseEvent;
stop();
adress_tf.text = ""; // adress_tf ist ein Textfeld auf der Bühne
Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;
connect_btn.addEventListener(TouchEvent.TOUCH_TAP, fl_TapHandler);
connect_btn.addEventListener(MouseEvent.CLICK, mouseevent); //Beides, damit ich es am Computer als auch am iOS-Gerät testen kann
var adress:String;
function fl_TapHandler(event:TouchEvent)
{
goto();
}
function mouseevent(evt:MouseEvent)
{
goto();
}
function goto()
{
adress = adress_tf.text;
gotoAndStop(2);
}
|
Schlüsselbild 2:
ActionScript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.events.Event;
import flash.net.FileFilter;
import flash.filesystem.File;
import flash.filesystem.FileStream;
import flash.filesystem.FileMode;
import flash.events.IOErrorEvent;
import flash.errors.IOError;
status_2.text = "loading ..."; // Bühnentextfeld, wo eigentlich der Error hätte reingeschrieben werden sollen
var loader:URLLoader = new URLLoader();
var dataFormat:String = URLLoaderDataFormat.BINARY;
loader.dataFormat = dataFormat;
var urlrequest:URLRequest = new URLRequest(adress);
loader.load(urlrequest);
loader.addEventListener(Event.COMPLETE, erstelledatei);
function erstelledatei(evt:Event)
{
var file:File = File.applicationStorageDirectory.resolvePath("temp.swf");
file.addEventListener(IOErrorEvent.IO_ERROR, ioefs);
var filestream:FileStream = new FileStream();
filestream.open(file, FileMode.WRITE);
filestream.writeBytes(loader.data);
filestream.close();
filestream.addEventListener(IOErrorEvent.IO_ERROR, ioefs);
gotoAndStop(3);
}
loader.addEventListener(IOErrorEvent.IO_ERROR, ioerror_2);
function ioerror_2(event:IOErrorEvent)
{
status_2.text = "ioerror appeared";
}
function ioefs(event:IOErrorEvent)
{
status_2.text = "ioefs: " + event.text;
}
|
Schlüsselbild 3:
ActionScript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | import flash.display.Loader;
import flash.net.URLRequest;
import flash.system.LoaderContext;
import flash.errors.IOError;
var lc:LoaderContext = new LoaderContext();
lc.allowCodeImport = true;
var req:URLRequest = new URLRequest("temp.swf");
var loader1:Loader = new Loader();
loader1.y = 20;
loader1.load(req, lc);
addChild(loader1);
loader1.addEventListener(IOErrorEvent.IO_ERROR, ioerror_3);
function ioerror_3(event:IOErrorEvent)
{
status_3.text = "ioerror appeared";
}
|
| | | Beiträge: 147 Wohnort: Qo'noS Registriert: Nov 2009
| 03.11.2011, 10:07
|
|