Zurück   Flashforum > Flash und Server > Flash Remoting

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 25-01-2007, 16:19   #1 (permalink)
x39
 
Benutzerbild von georgem
 
Registriert seit: Oct 2004
Ort: St.Gallen, Schweiz
Beiträge: 1.261
wie pendingCall vorzeitig abbrechen

Hallo,

ich habe über AMFPHP einen Funktionsaufruf z.B.

PHP-Code:
var pc:PendingCall _service.findItem(_root.item);
pc.responder = new RelayResponder(_root"handleResult""handleError"); 
Wenn ich jetzt diesen PendingCall ausführe (und ja einige Zeit vergeht bis AMFPHP/MySQL antwortet), gibt es eine Möglichkeit den PendingCall abzubrechen, und z.B. nochmal neu zu starten?

Wie würde man hier am besten vorgehen?
__________________
The Sleeper Must Awaken

www.margaris.de | www.exosolar.net
georgem ist offline   Mit Zitat antworten
Alt 27-01-2007, 11:17   #2 (permalink)
l2l|c4o
 
Benutzerbild von Sir Freako
 
Registriert seit: Nov 2005
Ort: düstere Grotte im Süden
Beiträge: 968
Hallo ,

http://dictionary.reference.com/browse/Pending

während der Zeit bis der RelayResponder etwas zurück liefert ??

Ich habe mir das so gebaut mit ObjectVO das du einfach den Namen des service
als funktion hast.

myAmfPhpService(>eine ID für den benötigten SqlTable/ table Sector<)

also bei mir sieht das anders aus

PHP-Code:
var pendingCall:PendingCall service.execute(); 
das kann man dann natürlich so oft wie man lustig ist aufrufen .
sry oder habe ich die frage nicht verstanden oder besser - wo soll der Sinn darin bestehen das dann abzubrechen ?

du willst herausfinden ob in dem Table oder Sektor überhaupt schon daten enthalten sind ?

was hast du genau vor ?

Geändert von Sir Freako (27-01-2007 um 11:42 Uhr)
Sir Freako ist offline   Mit Zitat antworten
Alt 27-01-2007, 13:39   #3 (permalink)
x39
 
Benutzerbild von georgem
 
Registriert seit: Oct 2004
Ort: St.Gallen, Schweiz
Beiträge: 1.261
entschuldige die etwas unklare formulierung.

Es geht um ein online planetarium, wenn man dort einen Stern anklickt, wird ein PendingCall ausgeführt, in der zugewiesenen ResultHandleFunktion (in Flash) werden dann in einem Fenster genauere Daten zum Sternsytem usw.. angezeigt, alles wird ja von AMFPHP/MySQL rübergeschickt, je nach Leitung schneller/langsamer.
Jetzt kann es sein, dass der User bereits einen neuen Stern anklickt und der alte PendingCall noch gar nicht sein ResultHandle ausgeführt hat, also noch gar kein Resultat von MySQL gekommen ist.
Da jetzt sowieso ein neuer Stern geklickt wurde, muss der alte Stern gar nicht mehr seine Daten anzeigen, sondern es sollte der alte PendingCall abgebrochen werden, und dafür der neue gestartet werden.

Wie kann ich das am besten tun?

Einfach nochmal den PendingCall aufrufen führt zu dem Chaos das ich jetzt habe, weil dann sind effektiv 2 MySQL Threads gestartet welche dann 2 ResultHandle Funktionen ausführen... Ich könnte wohl etwas logik einbauen, und checken ob in der Zwischenzeit ein neuer STern geklickt wurde, schon klar.
Aber ich frage mich: Kann man so einen PendingCall einfach abbrechen , bevor er seine zugewiesene ResultHandle Funktion ausführt? (z.B weil es zu lange dauert, oder eben in der Zwischenzeit kein Bedarf mehr da ist)
__________________
The Sleeper Must Awaken

www.margaris.de | www.exosolar.net
georgem ist offline   Mit Zitat antworten
Alt 27-01-2007, 14:09   #4 (permalink)
l2l|c4o
 
Benutzerbild von Sir Freako
 
Registriert seit: Nov 2005
Ort: düstere Grotte im Süden
Beiträge: 968
Probier mal den Service auf einem Object zu starten

( lerren MovieClip generieren und dann auf dem Movieclip )

wenn du auf einen Stern klicks überschreib einfach das object

den Service anstatt auf _level0 halt auf dem MovieClip zB _level0.serviceRiser
und den überschreibst du dann immer
PHP-Code:
_level0.stern.onRelease = function(){
    
_level0.serviceRiser.unloadMovie();
    
_level0.serviceRiser.removeMovieClip();
    
_level0.createEmptyMovieClip("serviceRiser"this.getNextHighestDepth());
    
_level0.serviceRiser.amfService = new AmfService();


Geändert von Sir Freako (27-01-2007 um 15:06 Uhr)
Sir Freako ist offline   Mit Zitat antworten
Alt 28-01-2007, 13:17   #5 (permalink)
x39
 
Benutzerbild von georgem
 
Registriert seit: Oct 2004
Ort: St.Gallen, Schweiz
Beiträge: 1.261
danke für den Tip mit den movieclip-carriers,

ich werde das mal ausgiebig testen.
__________________
The Sleeper Must Awaken

www.margaris.de | www.exosolar.net
georgem ist offline   Mit Zitat antworten
Alt 28-01-2007, 17:37   #6 (permalink)
l2l|c4o
 
Benutzerbild von Sir Freako
 
Registriert seit: Nov 2005
Ort: düstere Grotte im Süden
Beiträge: 968
Hi ,

ich hätte jetzt patch dazu gesagt ?!
Sir Freako ist offline   Mit Zitat antworten
Antwort

Lesezeichen

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



Alle Zeitangaben in WEZ +1. Es ist jetzt 03:19 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele