| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Dec 2010
Beiträge: 1
|
Hallo Flasher! Ich habe arge Probleme mit den Animationen für meine 2 Webseiten. Ich versuche sie über XML zu steuern (2 Texte u. 1 Grafik sollen hinzugeladen werden). Anfangs hat es ganz gut geklappt, doch seit einiger Zeit erhalte ich die Fehlermeldung Code: TypeError: Error #1009: Der Zugriff auf eine Eigenschaft oder eine Methode eines null-Objektverweises ist nicht möglich. at rentierschlitten_test_fla::MainTimeline/frame1() 2x ein Symbol ("zeile1" u. "zeile2") mit je einem Textfeld ("text1" und "text2" - je TLF-Text "Nur zum Lesen"). Wo könnte der Fehler liegen? Hier mein AS3: Code: //Objekt für URL-Anfragen importieren
import flash.net.URLRequest;
//Objekt für Stage importieren
import flash.display.*;
//ganze URL des SWF-Files auslesen - http//www.domain.de/pfad/pfad/test.swf...
var urlString:String = root.loaderInfo.url;
//Die regulären Ausdrücke zum Kürzen
var urlRegExp:RegExp = /^http[s]?:\/\/(www\.|vorschau\.)?([^\/]+)/; //rausholen was zwischen // und dem nächsten / steht
//ganze URL mit regulären Ausdrücken auf www.domain.de
var nurURL:Array = urlString.match(urlRegExp); //search? replace? match?
var loeschen:RegExp = /^http[s]?:\/\/(www\.|voransicht\.)?/;
var domain:String = nurURL[0].replace(loeschen, "/system/animation/xml/");
// Pfad mit eigener SWF-URL kombinieren
var ganzeAdresse:String = nurURL[0]+domain+".xml";
//XML Auslesen
var Kundendaten:Array = [];
var loader:URLLoader = new URLLoader();
loader.load(new URLRequest(ganzeAdresse));
loader.addEventListener(Event.COMPLETE, parseXML);
//XML-Daten zuweisen
function parseXML(evt:Event)
{
var xml_dokument:XML = new XML(evt.target.data);
//Leerzeichen ignorieren
xml_dokument.ignoreWhitespace = true;
// Kommentare in der XML Datei ignorieren
xml_dokument.ignoreComments = true;
var animation = new Object();
animation.logourl = xml_dokument.Animation.Logo.text();
animation.text1 = xml_dokument.Animation.Text1.text();
animation.text1farbe = xml_dokument.Animation.Text1.attributes();
animation.text2 = xml_dokument.Animation.Text2.text();
animation.text2farbe = xml_dokument.Animation.Text2.attributes();
Kundendaten[Kundendaten.length] = animation;
ladeDaten(1);
}
//XML-Daten an Animation weitergeben
function ladeDaten(nr:int)
{
var loader_logo:Loader = new Loader();
loader_logo.load(new URLRequest(Daten[nr - 1].logourl));
zeile1.text1.text = Kundendaten[nr - 1].text1;
zeile1.text1.textColor = "0x" + Daten[nr - 1].text1farbe;
zeile2.text2.text = Kundendaten[nr - 1].text2;
zeile2.text2.textColor = "0x" + Daten[nr - 1].text2farbe;
logoanzeige.addChild(loader_logo);
} |
| | |
| | #2 (permalink) | |
| Neuer User Registriert seit: Oct 2007 Ort: Kölle
Beiträge: 1.229
| Zitat:
LG ANdré
__________________ Die Hoffnung stirbt zuletzt. Aber sie stirbt. | |
| | |
| | #4 (permalink) |
| Flash-Designer Registriert seit: May 2006 Ort: Wiesbaden
Beiträge: 6.162
| Indem Du den Code in eine Funktion (init) steckst, die erst dann ausgeführt wird, wenn dass Objekt zur Anzeigeliste hinzugefügt wurde: PHP-Code:
__________________ 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 (17-12-2010 um 10:28 Uhr) |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Sep 2010
Beiträge: 8
|
Danke Martin! Jetzt gibt es jedoch ein Problem mit der Variable "Kundendaten". Diese wird jetzt in der function "init" definiert, wird jedoch in der function "parseXML" verwendet - ist dort jedoch nicht mehr definiert. Das Herausnehmen der Definition aus der function "init" führte dazu, dass der function "Falsche Anzahl von Argumenten. 1 erforderlich." zugewiesen werden. Füge ich die Variable "Kundendaten" (Typ Array) dem Funktionsaufruf "if(Stage) init(Kundendaten);" hinzu, erscheint Error 1067 - "Implizite Umwandlung eines Werts des Typs Array in einen nicht verwandten Typ flash.events:Event". Die Definition der Variable als "public" verursacht "Error 1114: Das public-Attribut kann nur innerhalb eines Pakets verwendet werden." Also habe ich alles in ein package {..} gesetzt - "Error 1037:Pakete dürfen nicht verschachtelt sein." Jetzt stehe ich am Ende meines Wissens - was kann ich noch versuchen? Hier mein aktueller Stand: Code: package {
//Klasse für URL-Anfragen importieren
import flash.net.URLRequest;
//Anzeigeklassen importieren
import flash.display.*;
//XML Auslesen
public var Kundendaten:Array = [];
function init(evt:Event):void {
removeEventListener(Event.ADDED_TO_STAGE, init);
//ganze URL des SWF-Files auslesen - http//www.domain.de/pfad/pfad/test.swf...
var urlString:String = root.loaderInfo.url;
//Die regulären Ausdrücke zum Kürzen
var urlRegExp:RegExp = /^http[s]?:\/\/(www.|vorschau.)?([^\/]+)/; //rausholen was zwischen // und dem nächsten / steht
//ganze URL mit regulären Ausdrücken auf www.domain.de
var nurURL:Array = urlString.match(urlRegExp); //search? replace? match?
var loeschen:RegExp = /^http[s]?:\/\/(www.|vorschau.)?/;
var domain:String = nurURL[0].replace(loeschen, "/portal/animation/xml/");
// Pfad mit eigener SWF-URL kombinieren
var ganzeAdresse:String = nurURL[0]+domain+".xml";
var loader:URLLoader = new URLLoader();
loader.load(new URLRequest(ganzeAdresse));
loader.addEventListener(Event.COMPLETE, parseXML);
}
//XML-Daten zuweisen
function parseXML(evt:Event)
{
var xml_dokument:XML = new XML(evt.target.data);
//Leerzeichen ignorieren
xml_dokument.ignoreWhitespace = true;
// Kommentare in der XML Datei ignorieren
xml_dokument.ignoreComments = true;
var animation = new Object();
animation.logourl = xml_dokument.Animation.Logo.text();
animation.text1 = xml_dokument.Animation.Text1.text();
animation.text1farbe = xml_dokument.Animation.Text1.attributes();
animation.text2 = xml_dokument.Animation.Text2.text();
animation.text2farbe = xml_dokument.Animation.Text2.attributes();
Kundendaten[Kundendaten.length] = animation;
ladeKundendaten(1);
}
//XML-Daten an Animation weitergeben
function ladeKundendaten(nr:int)
{
var loader_logo:Loader = new Loader();
loader_logo.load(new URLRequest(Kundendaten[nr - 1].logourl));
zeile1.text1.text = Kundendaten[nr - 1].text1;
zeile1.text1.textColor = "0x" + Kundendaten[nr - 1].text1farbe;
zeile2.text2.text = Kundendaten[nr - 1].text2;
zeile2.text2.textColor = "0x" + Kundendaten[nr - 1].text2farbe;
logoanzeige.addChild(loader_logo);
}
if(Stage) init(Kundendaten);
else addEventListener(Event.ADDED_TO_STAGE, init);
} //Package ende |
| | |
| | #6 (permalink) |
| Flash-Designer Registriert seit: May 2006 Ort: Wiesbaden
Beiträge: 6.162
|
Sorry - da waren noch zwei Fehler im Script. Ich hab's oben korrigiert. Probiers mal aus!
__________________ 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! |
| | |
| | #7 (permalink) |
| Neuer User Registriert seit: Sep 2010
Beiträge: 8
|
Sorry, Martin, das Ergebnis ist nun: PHP-Code: |
| | |
| | #8 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.139
| nurURL kann auch null sein. Kannst du mit dem Debugger umgehen? Wenn nicht, dann traces setzen!
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
![]() |
| Lesezeichen |
| Stichworte |
| as3, error #10009, instanzen, xml |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Newbie-Hilfe: #Error 1009 | ToniMahoni | ActionScript 3 | 8 | 24-03-2011 13:46 |
| Fehler beim Ausführen: TypeError: Error #1009 | apfel007 | Flex allgemein | 5 | 11-11-2009 16:31 |
| Fehler: Error #1009 | senfkorn | ActionScript 3 | 6 | 27-07-2009 10:03 |
| Error #1009 | n82 | Flex programmieren | 4 | 20-01-2009 15:24 |
| Error 1009, Fehler wo, warum? | venom.at | ActionScript 3 | 4 | 28-10-2008 20:09 |