• beyond tellerrand – play. Register Now!
Zurück   Flashforum > Flash > ActionScript > ActionScript 2

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 26-05-2010, 17:18   #1 (permalink)
Arne
 
Registriert seit: May 2010
Beiträge: 5
XML wird in einem, als MovieClip geladenen, SWF nicht geladen

Hallo,

ich habe ein Flash-Datei (xmlmodule.fla), in der ich eine XML lade. Die exportierte SWF (xmlmodule.swf) wird später als ein MovieClip in eine andere SWF (page.swf) geladen und darin angezeigt.
Nun gibt es folgendes Problem: Wenn die xmlmodule.swf in page.swf geladen wird, dann läd es nicht mehr die XML. Rufe ich die xmlmodule.swf allein im Browser auf, wird die XML geladen – so wie es sein soll (und es auch bei der Entwicklung tut).

Ist das eine Sicherheitsbeschränkung von Flash? Oder ist das doch eher ein Fehler in meinem ActionScript? (Wobei es mich dann wundert, dass es dann beim alleinigen aufrufen von xmlmodule.swf funktioniert.)

Liebe Grüße,
Arne
derTraumreiter ist offline   Mit Zitat antworten
Alt 26-05-2010, 17:21   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
Oder ist das doch eher ein Fehler in meinem ActionScript?
Wahrscheinlich. Hast du "_root" verwendet oder wird das XML-File aus einem Unterfolder mit falschem Pfad geladen?
  Mit Zitat antworten
Alt 26-05-2010, 17:22   #3 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 5.626
Kann es sein, dass die xmlmodule.swf in einem anderen Ordner liegt als die page.swf. Flash referenziert nämlich alle Dateipfade von der Root-swf (oder vielmehr der HTML-Seite in der diese eingebettet ist) aus.

Wenn die xmlmodule.swf also in die page.swf geladen wurde sucht sie ihre XML-Datei in deren Verzeichniss...
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft ist offline   Mit Zitat antworten
Alt 26-05-2010, 23:17   #4 (permalink)
Arne
 
Registriert seit: May 2010
Beiträge: 5
Danke für eure Antworten. Es tut mir Leid, dass ich vorhin sehr kurz angebunden war und u.U. nicht alle nötigen Details genannt habe.

Zitat:
Zitat von agedoubleju Beitrag anzeigen
Hast du "_root" verwendet oder wird das XML-File aus einem Unterfolder mit falschem Pfad geladen?
Nein, _root habe ich nicht verwendet. Der Dateiname steht in einer Konstanten am Anfang der Datei und wird später in einer Funktion geladen:

Code:
// xmlmodule.swf

var QUESTIONSXML:String = "xml/questions.xml";

// […]

this.onLoad = function() {
	// Load XML
	questionsXML = loadXML(QUESTIONSXML);
};

// […]

function loadXML(filename:String):XML {
	var requestXML = new XML();

	requestXML.ignoreWhite = true;
	requestXML.load(filename);

	return(requestXML);
}
Beim testen der xmlmodule.fla (wobei der XML-Ordner und auch die XML-Datei im Projekt-Ordner sind), wird die XML problemlos geladen. Und auch wenn ich die kompilierte xmlmodule.swf auf meinem Server direkt im Browser aufrufe, wir die XML korrekt geladen.

Zitat:
Zitat von Martin Kraft Beitrag anzeigen
Kann es sein, dass die xmlmodule.swf in einem anderen Ordner liegt als die page.swf. Flash referenziert nämlich alle Dateipfade von der Root-swf (oder vielmehr der HTML-Seite in der diese eingebettet ist) aus.

Wenn die xmlmodule.swf also in die page.swf geladen wurde sucht sie ihre XML-Datei in deren Verzeichniss...
Die xmlmodule.swf und page.swf liegen im gleichen Verzeichnis. Meine Ordner-Struktur sieht wie folgt aus:

Code:
www.example.com
 |
 |- xml/
 |   |
 |   `- questions.xml
 |
 |- index.html
 |- page.swf
 `- xmlmodule.swf
Ich habe den Pfad auch schon ein paar mal verändert, nicht nur relativ wie im Quelltext, sondern auch absolut und sogar die URI zur Datei auf meinem Server (http://www.example.com/xml/questions.xml). Jedes mal funktioniert es beim testen in Flash und beim direkten aufrufen der xmlmodule.swf im Browser, aber wenn die xmlmodule.swf in die page.swf geladen wird, dann funktioniert es jedes mal nicht mehr. Egal auf welche Art der Pfad zur Datei beschrieben wurde.

Einen Dateipfad-Fehler würde ich von daher ausschließen. Ich weiß nur leider nicht warum es nicht funktioniert, wenn die xmlmodule.swf in die page.swf geladen wird oder ob etwas im Hintergrund von Flash damit passiert; ich könnte mir nur vorstellen, dass, etwa aus Sicherheitsgründen, es vom Sicherheitskonzept her, nicht möglich ist, dass externe Dateien (etwa XMLs) in externe, geladene SWFs zu laden.

Liebe Grüße,
Arne
derTraumreiter ist offline   Mit Zitat antworten
Alt 26-05-2010, 23:47   #5 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
ich könnte mir nur vorstellen, dass, etwa aus Sicherheitsgründen, es vom Sicherheitskonzept her, nicht möglich ist, dass externe Dateien (etwa XMLs) in externe, geladene SWFs zu laden.
Nein, das kannst du ausschließen. Auch nachgeladene Filme können weitere Daten nachladen.

Vielleicht postest du hier mal die FLAs und das XML-File...
  Mit Zitat antworten
Alt 27-05-2010, 00:11   #6 (permalink)
Arne
 
Registriert seit: May 2010
Beiträge: 5
Zitat:
Zitat von agedoubleju Beitrag anzeigen
Nein, das kannst du ausschließen. Auch nachgeladene Filme können weitere Daten nachladen.
OK, das ist schon mal eine gute Nachricht.

Zitat:
Vielleicht postest du hier mal die FLAs und das XML-File...
Hm, dass würde ich gerne, ich muss nur mal schauen in wie weit das geht, da es sich z.T. um Kunden-Daten handelt, die ich so nicht heraus geben kann/will.

Liebe Grüße,
Arne
derTraumreiter ist offline   Mit Zitat antworten
Alt 27-05-2010, 09:52   #7 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 5.626
Ich schätzemal, dass Dein Problem onLoad ist. In der Flash-Hilfe steht dazu:
Zitat:
Wird aufgerufen, wenn der Movieclip instanziiert wird und in der Zeitleiste erscheint.
... Diese Ereignisprozedur kann nur mit Movieclips mit einem Symbol in der Bibliothek verwendet werden, das einer Klasse zugeordnet ist. ...
Ich könnte mir vorstellen, dass dieser Befehl bei Dir ignoriert wird, wenn er nicht mehr auf der Hauptzeitleiste liegt und deshalb das Script erst hinzugefügt wird, wenn der MovieClip schon instanziiert wurde. Setzt da mal ein trace rein um zu testen, ob das Ereignis überhaupt eintritt.

Wozu brauchst Du eigentlich dieses onload? Das Script wird doch eh erst ausgeführt, wenn der zugehörige Frame geladen wurde.
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!

Geändert von Martin Kraft (27-05-2010 um 09:53 Uhr)
Martin Kraft ist offline   Mit Zitat antworten
Alt 27-05-2010, 10:28   #8 (permalink)
Arne
 
Registriert seit: May 2010
Beiträge: 5
Zitat:
Zitat von Martin Kraft Beitrag anzeigen
Ich könnte mir vorstellen, dass dieser Befehl bei Dir ignoriert wird, wenn er nicht mehr auf der Hauptzeitleiste liegt und deshalb das Script erst hinzugefügt wird, wenn der MovieClip schon instanziiert wurde. Setzt da mal ein trace rein um zu testen, ob das Ereignis überhaupt eintritt.
Danke, daran hat es gelegen. Nun funktioniert es, so wie es soll!

Zitat:
Wozu brauchst Du eigentlich dieses onload? Das Script wird doch eh erst ausgeführt, wenn der zugehörige Frame geladen wurde.
onLoad habe ich verwendet, weil ich dachte es wäre die sinnvollste Art, schnellst möglich, nach dem bzw. beim laden der xmlmodule.swf, die wichtigsten Dinge direkt zu initialisieren. Aber anscheinend war das in diesem Fall eher der Klotz am Bein, als eine Hilfe.

Vielen Dank für eure Hilfe!

Liebe Grüße,
Arne
derTraumreiter ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
actionscript 2, einbinden, movieclip, xml

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Button in Movieclip wird extern geladen und funktioniert nicht AngelaN ActionScript 2 2 07-05-2009 12:38
onRollOver bei einem geladenen SWF MovieClip arsirc Flash Einsteiger 3 03-02-2008 19:26
Geladenen film wird nicht nur tw. gezeigt. und backroudn vom geladenen wird nichteing babara_Fla Flash 8 5 01-04-2006 01:22
MovieClip in Hauptzeitleiste wird nicht geladen kaspal Flash MX 2 23-01-2006 14:27
getBytesLoaded von einem mc inde m ein film geladen wird screamingworld ActionScript 1 3 09-02-2005 17:31


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:24 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele