| |||||||
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 2003 Ort: Wien
Beiträge: 166
| referenzen von variablen aus funktionen
hi, langsam verzweifel ich vollkommen. ihr seid also meine letzte rettung. ich habe eine funktion in der ich eine jsp mit der myXML.load("")-Methode aufrufe. das jsp gibt XM zurück, was auch alles funktioniert. So schaut der Code aus: ActionScript:
In der Funktion CreateMCs() möchte ich auf das myXML zugreifen, was aber hinten und vorna nicht funktioniert. auch wenn ich den XML konstruktur an die funktion übergebe, funktioniert es nicht.... HIIIIIIIIIIIILFE !!!!! mfg Juro |
| | |
| | #2 (permalink) |
| flashed Dude Registriert seit: Mar 2002 Ort: _level0
Beiträge: 1.402
|
hallo also so würde ich das notieren : ActionScript:
ActionScript:
ich hab es nicht getestet aber das müsste laufen und zumindest der aufbau stimmt auf jeden fall mfg
__________________ Die Basis unseres Denkens ist das der Verstand sich selbst erkennt. Kyle Broslovski Eigenlob stinkt ~ fast immer Geändert von tolleiv (23-08-2003 um 08:47 Uhr) |
| | |
| | #3 (permalink) |
| [Ernst Reiter] Registriert seit: Jul 2001 Ort: austria
Beiträge: 3.691
|
eine wäre auch noch von vorteil.... ActionScript:
__________________ Das Gesetz des Lebens liegt im Notwendigen. Der Reiz des Lebens liegt im Überflüssigen m.f.g Scrawer (www.thinkspace.at) |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: Aug 2002 Ort: Faust-Stadt
Beiträge: 2.577
|
hi müste doch gehen. ActionScript:
__________________ gruß Harry |
| | |
| | #5 (permalink) |
| flashed Dude Registriert seit: Mar 2002 Ort: _level0
Beiträge: 1.402
|
m ja müsste gehen aber brauchste denn ünbedingt diese createMCs funktion? das kannste doch auch gleich im onLoad machen oda ? aber wenn das xml ok is das sollte das gehen mfg
__________________ Die Basis unseres Denkens ist das der Verstand sich selbst erkennt. Kyle Broslovski Eigenlob stinkt ~ fast immer |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: Jun 2003 Ort: Wien
Beiträge: 166
|
also. 1. danke für eure antworten.... @tolleiv: myXML.parseXML; ... überprüft den syntax des xml und korrigiert einfache fehelr, die methode verhindert schwerwiegende einlese fehler prototype ... damit definiere ich dann die funktion als "superclass" und kann sie von überall nur mit FunktionsName ansprechen? @scrawer: mach ich doch eh mit dem aufruf: myXML.onLoad = CreateMCs(myXML); @hay: hab ich auch gedacht, aber leider geht das nicht .... @tolleiv: natürlich könnte ich den funktionsblock direkt in das onLoad einfügen. der funktionsblock CreateMCs ist aber ziemlich lang, daher dachte ich, dass es eine bessere Idee ist, das auszugliedern. @all: ich muss die funktion readXML von überall aus aufrufen können, da ich möchte, dass sich das flash jede minute die jsp neu liest und damit etwaige Änderungen der Variablen einliest. mfg Juro |
| | |
| | #7 (permalink) |
| [Ernst Reiter] Registriert seit: Jul 2001 Ort: austria
Beiträge: 3.691
|
also muss noch etwas verschlafen sein aber ich sehe bei deinen Scripts hier keine Fehlerbehandlung.... den onLoad gibt nun mal true oder false als Argument mit..... evtl ist es bei dir ja schon die ganze zeit false...... jedoch gibt es bei dir keine if abfrage in die Richtung. ActionScript:
der code läuft mal 100%... kannst ja zum test ein manuell erstelltes xml file in den selben ordner legen wo das swf und die html sich befinden. Da wären wir auch schon bei den möglichen fehlern... Der pfad zum xml file (in deinem fall jsp) muss relativ aus sicht der html datei angegeben werden welche das swf eingebunden hat. Es muss natürlich alles in der selben SubDomain sein. Und du solltest sicher stellen das dein jsp auch richtig arbeitet.
__________________ Das Gesetz des Lebens liegt im Notwendigen. Der Reiz des Lebens liegt im Überflüssigen m.f.g Scrawer (www.thinkspace.at) |
| | |
| | #8 (permalink) |
| Neuer User Registriert seit: Jun 2003 Ort: Wien
Beiträge: 166
|
hmmm, ich glaub da verstehst du was falsch. hier die definition des onLoad() Event Handlers (laut ActionScript for Flash MX - the definitive Guide von O'REILLY): XML.onLoad() Event Handler -------------------------------------------------------- executed when external XML data has been loaded and parsed xmlDoc.onLoad(success) Arguments success A Boolean value indicating whether loading was successful (true) or unsuccessful (false). ...... wie du siehst, ist der onLoad() event handler schon eine if-ab frage, d.h. bei dem syntax myXML.onLoad(irgendeinefunktion); wird irgendeinefunktion erst dann aufgerufen, wenn das XML erfolgreich geladen wurde .... mfg roland |
| | |
| | #9 (permalink) |
| [Ernst Reiter] Registriert seit: Jul 2001 Ort: austria
Beiträge: 3.691
|
schau.... ich kann auch damit leben wenn du mir nicht glauben möchtest...... zur Information... ich erstelle kaum eim swf.. das kein xml file aufruft..... und versuch doch einfach mal das xml file wegzugeben... sprich das der load Aufruf ins leere geht da es das file nicht gibt... dann wirst du merken das es vielleicht gar nicht so schlecht ist...... denn dann ist es False!!!!!!! aber wie auch immer..... es gibt schon so viele Seiten die keine Fehlerbehandlung einbauen... in Flash... und diese auswerten.. wie error 404 , 403 usw.... eine mehr oder weniger spielt auch keine rolle mehr das ist nun sehr unfein von mir... und gleich ein sorry hinterher... nur ab und zu frage ich mich warum ich eine Lösung poste wenn dann die leute immer sagen.. ne das ist nicht nötig... und sie in frage stellen... ich weis nur eines... bei mir funktioniert alles
__________________ Das Gesetz des Lebens liegt im Notwendigen. Der Reiz des Lebens liegt im Überflüssigen m.f.g Scrawer (www.thinkspace.at) |
| | |
| | #10 (permalink) |
| Neuer User Registriert seit: Jun 2003 Ort: Wien
Beiträge: 166
|
es freut mich natürlich sehr, dass bei dir alles funktioniert. ich habe dir auch nur gesagt, dass der onLoad() Event handler so wie so eine if Abfrage macht. wenn du noch ein if dahinter schachteln möchtest, von mir aus gerne (auch das habe ich schon bei vielen Programmierarbeiten gesehen). natürlich ist eine sinnvolle Fehlerbehandlung wichtig, aber sie dafür gleich zweimal zu machen ist ja auch nicht wirklcih perfomant. jetzt kannst du natürlich sagen, dass das bei flash-dateien kein problem ist, wo du natürlich recht hast. ich bin halt der meinung, dass guter perfomanter programmierstil auch bie flash wichtig ist. ich habe mich schon vorher für eure lösungen bedankt. trotzdem steht es mir zu die lösungen zu überdenken und mögliche fehler zu kommentieren. es geht ja hier um einen KONSTRUKTIVEN DIALOG und keine einsiete fragestunde. und noch einmal konkret zu dem problem: wenn das xml nicht existiert, werden keine movieclips generiert. so einfach ist das und das ist auch das, was ich bezwecke! mfg juro |
| | |
| | #11 (permalink) |
| [Ernst Reiter] Registriert seit: Jul 2001 Ort: austria
Beiträge: 3.691
|
mal direkt... wenn das File nicht existiert... wird onLoad auch aufgerufen..... nur eben mit dem argument false... du unterliegst hier einem großen Fehler onLoad wird immer ausgeführt.. egal ob er was ladet oder Nichteinmahl das File findet... das ist auch gut und richtig so.. denn so kann man ja überhaupt erst eine Fehlerbehandlung einbauen... die Auftrennung ob es nun funktioniert hat oder eben ein Fehler passiert ist geht dann eben über eine if abfrage true/false.... denn würde onLoad nur ausgeführt wenn er auch Daten ladet.. wie du sagst... wäre eine Fehlerbehandlung nie möglich... wie auch.. denn wo willst du denn einhacken... und da es keine Metohode wie onError gibt (das gegenteil zu onLoad) wird eben mit onLoad(true/false) gearbeitet.... MM hat sich halt für diesen weg entschieden. Ok ich verstehe das du nicht so denkst da dir die Fehlerbehandlung egal ist... Aber Fakt ist bei dir wird das Script auch ausgeführt.. nur das es halt keine Daten gibt... und im Script lauter Fehler passieren werden.... Ich versteh deine Ansicht auch gar nicht.. denn wenn du in die Flash Referenz schauen würdest.. steht es dort genau so drin... Und es ist auch mehr als logisch... Aber wie gesagt... jeder wie er denkt und möchte....
__________________ Das Gesetz des Lebens liegt im Notwendigen. Der Reiz des Lebens liegt im Überflüssigen m.f.g Scrawer (www.thinkspace.at) |
| | |
| | #12 (permalink) |
| Neuer User Registriert seit: Jun 2003 Ort: Wien
Beiträge: 166
|
wenn ich den ganzen filmablauf von dem onload abhängig mache, dann stimmt das schon. meine programmstruktur ist aber so gemacht, dass es egal ist, ob da wirklich mcs generiert werden oder nicht. daher brauche ich nur den success=true event. wenn du spezifisch wissen musst, ob der event erfolgreich war, d.h. dass kein fehler beim lesen passiert ist, ist dein ansatz richtig. aber wie gesagt, ich brauch nur den success (wer nicht )mfg Juro |
| | |
| | #13 (permalink) |
| [Ernst Reiter] Registriert seit: Jul 2001 Ort: austria
Beiträge: 3.691
|
ja aber du machst ja kein if (success) // true.... ? daher wird es immer ausgeführt... auch wenn es die werte gar nicht gibt.. .das meinte ich ja... ob du nun einen fehler ausgibst oder nicht ist ja egal...... aber aktionen schleifen laufen zu lassen denen die Daten fehlen.... ist nicht gerade schön
__________________ Das Gesetz des Lebens liegt im Notwendigen. Der Reiz des Lebens liegt im Überflüssigen m.f.g Scrawer (www.thinkspace.at) |
| | |
| | #14 (permalink) |
| Neuer User Registriert seit: Jun 2003 Ort: Wien
Beiträge: 166
|
stimmt. wenn aber das onLoad nicht successful war, gibt es auch kein myXML.firstChild.childNodes.length und dann ist eine schleife for (i=0; i < myXML.firstChild.childNodes.length; i++) {} eh zimelich kurz |
| | |
| | #15 (permalink) |
| [Ernst Reiter] Registriert seit: Jul 2001 Ort: austria
Beiträge: 3.691
|
naja..... da sag ich nun mal nix zu
__________________ Das Gesetz des Lebens liegt im Notwendigen. Der Reiz des Lebens liegt im Überflüssigen m.f.g Scrawer (www.thinkspace.at) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |