| |||||||
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 2002
Beiträge: 2
| warten auf onload.....
hallo allerseits, ich würde gerne folgendes programmieren Code: function meineFunktion() {
myXML = new XML();
myXML.load("einServlet");
myXML.onData = function(src){
_root.meineAntwort = src;
}
benutzeAntwort(_root.meineAntwort);
} Soweit alles klar. Doch was mach ich jetzt um auf die onload-Methode zu warten? Code: while ( _root.meineAntwort == undefined) ; Code:
function meineFunktion() {
myXML = new XML();
myXML.load("einServlet");
myXML.onData = function(src){
_root.meineAntwort = src;
benutzeAntwort( _root.meineAntwort);
}
} ich kann naürlich einem Flag arbeiten, und wasNachMeinerFunktionPassierenSoll() immer wieder bei jedem Frame aufrufen bis das geladen-Flag gesetzt war, aber das ist doch grausliger Programmierstil. Weiss jemand eine _SCHÖNE_ Lösung dafür? Danke schon mal und Grüsse geo |
| | |
| | #2 (permalink) |
| Flash-Wüstling Registriert seit: Dec 2001 Ort: Halle/Saale
Beiträge: 4.300
|
Du mußt deine Logik umstellen ! Flash ist nach wie vor ein framebasiertes Werkzeug und die ganzen Kommunikationen mit der Außenwelt brauchen immer mindestens eine Frame Zeit. Innerhalb eines Frames mit z.B. while zu warten ist also zwecklos --> die Anfragen werden sowieso immer erst dann losgeschickt, wenn das gesamte AS dieses Framezyklus ausgewertet wurde ! Deine Funktion kann nicht "warten". Dein Programm muß so geschrieben werden, daß es auf das Ereignis reagiert. tanti saluti, pheidrias
__________________ Ehrlich währt am LÄNGSTEN ! |
| | |
| | #3 (permalink) |
| flashed Dude Registriert seit: Mar 2002 Ort: _level0
Beiträge: 1.402
|
hallo pheidrias hat recht aber du weißt bestimmt immernoch nicht weiter ? also mach 4 leere Frames alles schlüsselbilder pack deinen XML Lade Kram in den ersten Frame der zweite bleibt frei der dritte bekommt irgendwie sowas : ActionScript:
und im vierten kannste deinen restlichen kram verstauen mfg
__________________ Die Basis unseres Denkens ist das der Verstand sich selbst erkennt. Kyle Broslovski Eigenlob stinkt ~ fast immer Geändert von tolleiv (20-08-2003 um 17:22 Uhr) |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: Dec 2002
Beiträge: 2
|
hi, ich hab schon befürchtet, dass es nur mit einer frames-warteschleife funktioniert.... das ist dann auch klar wie's funktioniert. die sache ist nur, dass ich nur die serverkommunikation baue (und das ganze in include-dateien). ich hätte gerne meinem Flasher die Möglichkeit geboten mit if(myUser.login()) gotoAndPlay("loggedIn"); sich einzuloggen und dann gleich das Ergebnis zurückzugeben, eben wie man das aus "normaler" Programmierung gewöhnt ist. Jetzt muss ich's ihm leider kompliziert machen mit: myUser.login(); und dann irgendwann; if(myUser.isServerReady()) { err = myUser.getLastError() } Aber vielleicht weiss ja doch noch jemand wie man's nach Variante 1 hintricksten könnte ? greets Geo |
| | |
| | #5 (permalink) |
| Flash-Wüstling Registriert seit: Dec 2001 Ort: Halle/Saale
Beiträge: 4.300
|
Es ist einfach technisch unmöglich. Du willst eine Funktion innerhalb eines Frames, deren Code aber mindestens zwei Frames (einen zum Anfordern, einen zum Empfangen und sicher noch einige zum warten) braucht ! Bring ihn dazu, entweder den Code in verschiedene Frames zu packen (also erst logIn und dann später den anderen Code) oder verklickere ihm ereignisorientierte Programmierung. tut mir leid ,pheidrias
__________________ Ehrlich währt am LÄNGSTEN ! |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |