| |||||||
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: Jun 2004
Beiträge: 8
| Variablen aus der Funktion
Hi Ihr, ich muss als blutige Anfänger eine XML Schnittstelle basteln und habe folgendes Problem: Hier ein paar Code-Brocken: external_xml.ignoreWhite = true; external_xml.load("fragen_speed.xml"); external_xml.onLoad = function(success) { trace("xml loaded successfully."); for (aktKnotenID=0; aktKnotenID<this.childNodes.length; aktKnotenID++) { aktKnoten = this.childNodes[aktKnotenID]; if (aktKnoten.nodeName == "frage") { $fragen_ar.push(aktKnoten.attributes["ftext"]); $antworten_ar.push(aktKnoten.attributes["antwort1"]); $antworten_ar.push(aktKnoten.attributes["antwort2"]); $antworten_ar.push(aktKnoten.attributes["antwort3"]); $antwortenR_ar.push(aktKnoten.attributes["antwortR"]); } } Das geht noch ein Stück weiter. Das tut auch so weit. Wenn das ganze fertig ist, kann ich nicht mehr ausserhalb der Funktion auf die Arrays zugreifen. Was muss ich ändern. Ich hab die Arrays vorher ausserhalb mit var definiert und auch wenn ich _global. nutze tut das ganze nicht. Danke schon mal Al Geändert von AL_Samba (22-06-2004 um 09:27 Uhr) |
| | |
| | #2 (permalink) |
| The Man Who Wasn't There Registriert seit: Jul 2003 Ort: BÄRLIN
Beiträge: 1.156
|
hi, bin mit xml nicht so firm aber die $-zeichen haben da wohl nix zu suchen... PHP-Code: gruß mike
__________________ Dot-Realities Mike Broders Berlin ICQ:105925103 Dot-Realities v4.0 under construction! |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Jun 2004
Beiträge: 8
|
Danke für deine Antwort, das $ Zeichen diehnte nur als Teil des Variablen Namens, da ich vorher viel PHP programmiert hab. Tut jetzt immer noch nicht. Liegt das vielleicht darann, das es onLoad ausgeführt wird? Grüße Al |
| | |
| | #4 (permalink) |
| The Man Who Wasn't There Registriert seit: Jul 2003 Ort: BÄRLIN
Beiträge: 1.156
|
... PHP-Code: da hatte ich auch schon probleme. ach ja mach den load-aufruf mal erst nach der onLoad definition. weiß aber nicht obs jetzt die lösung ist... gruß mike
__________________ Dot-Realities Mike Broders Berlin ICQ:105925103 Dot-Realities v4.0 under construction! Geändert von fraggle two (22-06-2004 um 11:22 Uhr) |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Jun 2004
Beiträge: 8
|
Ja du hast recht, aber wenn ich in über Fehlersuche --> Variablen auflisten nachschaue, dann sind die Arrays auch richtig gefüllt, ich kann halt nur nicht darauf zugreifen,ausserhalb der Funktion. Dann werden sie als undefined angezeigt.
|
| | |
| | #6 (permalink) |
| The Man Who Wasn't There Registriert seit: Jul 2003 Ort: BÄRLIN
Beiträge: 1.156
|
... wie fragst du denn die variablen ab? ich geh jetzt mal von folgender sache aus: _root.external_xml=new XML(); dann hast du auf _root dein XML-Objekt. wenn du jetzt sagst: _root.external_xml.load("fragen_speed.xml"); kannst du nur über die referenzierung zum XML-Objekt an deine variablen ran.(_root.external_xml.deineVars) aber ich glaube es geht bei dir ja um die arrays fragen_ar, antworten_ar usw. oder? wenn sie als gefüllt im debugger angezeigt werden ist es eigentlich nur nen pfadproblem beim aufruf. gruß mike
__________________ Dot-Realities Mike Broders Berlin ICQ:105925103 Dot-Realities v4.0 under construction! |
| | |
| | #7 (permalink) |
| Neuer User Registriert seit: Jun 2004
Beiträge: 8
|
Danke noch mal für deine fixen Antworten. Den Fehler hast du richtig erkannt. Aber er möchte immer noch nicht. Allerdings meckert Flash auch rum, wenn ich bei der Initialisierung var _root.external_xml = new XML(); schreibe. var external_xml = new XML(); funktioniert aber. |
| | |
| | #8 (permalink) |
| The Man Who Wasn't There Registriert seit: Jul 2003 Ort: BÄRLIN
Beiträge: 1.156
|
... wie rufst du denn nun deine variablen ab? gruß mike
__________________ Dot-Realities Mike Broders Berlin ICQ:105925103 Dot-Realities v4.0 under construction! |
| | |
| | #10 (permalink) |
| Neuer User Registriert seit: Jun 2001 Ort: Stuttgart
Beiträge: 6.415
|
wo definierst du denn deine arrays? sofern du die später noch verwenden willst musste die natürlich auf ner zeitleiste ablegen. PHP-Code: deinArray=[] innerhalb der funktion solltest du deine arrays trotzdem im _root wiederfinden,das is die "notlösung" von flash, wenns nich weiter weiß wo du die dinger haben willst is aber schlechter stil- lieber alles direkt angeben, dann weißte auch wo die variablen liegen deluxe |
| | |
| | #11 (permalink) |
| Neuer User Registriert seit: Jun 2004
Beiträge: 8
|
Hier mal das ganze Ding: PHP-Code: Danke euch allen schon mal im vorraus. Al |
| | |
| | #13 (permalink) |
| Neuer User Registriert seit: Mar 2004
Beiträge: 70
|
Du hast ein Problem mit dem Scope wenn du die Variablen außerhalb des onLoad-Blocks deklarierst! Beim onLoad befindest du dich im Kontext des XML-Objekts, das kennt nur die eigenen Variablen. Da ich jetzt zu faul bin bekommst du hier von mir einen "Dirty Workaround": PHP-Code: Wenn der Zugriff automatisch passiert solltest du allerdings aufpassen, da die Variablen wahrscheinlich erst später vollständig eingelesen sind. Zur Lösung dazu noch ein "dirty Hack": PHP-Code: |
| | |
| | #14 (permalink) |
| Neuer User Registriert seit: Jun 2004
Beiträge: 8
|
Danke, aber ich habs jetzt: ich vermute, das das Pharsen und sortieren zu lange dauert. Ich hab das jetzt einfach in ein eigenes Schlüsselbild gesteckt. 10 Bilder später funktionier das ganze dann einwand frei!!!! Danke euch nochmal Al |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |