{lang: 'de'}
Flashhilfe.de - Flash Community

IOError, trotz EventListener? [Flash 10]

 


AntwortenRegistrieren Seite1  

comiplo#1
Benutzerbild von comiplo
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:
1Error #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";
}
Schlagwörter: ioerror ios
willie33#2
Benutzerbild von willie33
Beiträge: 147
Wohnort: Qo'noS
Registriert: Nov 2009

03.11.2011, 10:07