Zurück   Flashforum > Flash und Server > Flash Remoting

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 01-09-2004, 11:08   #1 (permalink)
a.k.a maddin79
 
Benutzerbild von madflanderz
 
Registriert seit: Jul 2003
Ort: berlin f-hain
Beiträge: 1.693
[AMFPHP] tutorial für AS2.0

nach dem installieren des flashremoting_comp_as20 wollte ich nun endlich mal amfphp ausprobieren.

alle beispiele fangen so an:

PHP-Code:
#include "NetServices.as" 

aber flash meint diese datei nicht zu finden.
Zitat:
**Fehler** Szene=Szene 1, Ebene=Ebene 1, Bild=1:Fehler beim Öffnen der Include-Datei NetServices.as: Datei nicht gefunden.
in der doku zu netServices stand auch das NetServices.as veraltet ist. gibt es irgendwo ein tutorial für amfphp mit AS 2.0 ??? oder wie soll ich jeze an die sache rangehen ?
__________________
www.madflanderz.de

ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°` _ addicted to bass _ `°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø
madflanderz ist offline   Mit Zitat antworten
Alt 01-09-2004, 13:37   #2 (permalink)
nky
Bontempi Punk
 
Benutzerbild von nky
 
Registriert seit: Dec 2001
Ort: Dtld/Pfalz
Beiträge: 4.185
ja so ein tutorial wär echt mal ne feine sache !
nky ist offline   Mit Zitat antworten
Alt 01-09-2004, 13:48   #3 (permalink)
a.k.a maddin79
 
Benutzerbild von madflanderz
 
Registriert seit: Jul 2003
Ort: berlin f-hain
Beiträge: 1.693
einfach nur ein


!!! HELLO WORLD !!!
__________________
www.madflanderz.de

ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°` _ addicted to bass _ `°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø
madflanderz ist offline   Mit Zitat antworten
Alt 02-09-2004, 13:20   #4 (permalink)
~
 
Benutzerbild von Alienhunter
 
Registriert seit: Sep 2001
Ort: zufikon
Beiträge: 153
hi @all

Versuch doch das einmal ... für AS 2.0

ActionScript:
  1. import mx.remoting.NetServices;
  2. import mx.remoting.NetServiceProxy;
  3. import mx.remoting.Connection;

Zudem würde ich in der Flash Help für Remoting einmal reinschauen.

und auf flash-db.com findest du ein Beispiel für ein Hello World.
Ist auf AS 1.0 aber eine gute Basis um es auf AS 2.0 umzubauen.
http://www.flash-db.com/remoting/?se...category=Basic

gruss @all

alien
Alienhunter ist offline   Mit Zitat antworten
Alt 03-09-2004, 08:29   #5 (permalink)
a.k.a maddin79
 
Benutzerbild von madflanderz
 
Registriert seit: Jul 2003
Ort: berlin f-hain
Beiträge: 1.693
ohhhh, man - ich hatte vergessen die RemotingClasses komponente auf die bühne zu ziehen. obwohl ich davon ausgegangen bin, daß wenn ich ein import schreibe ich nicht auch noch irgendwas auf die bühne ziehen muß, naja danke, werd ma mein glück versuchen.
__________________
www.madflanderz.de

ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°` _ addicted to bass _ `°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø
madflanderz ist offline   Mit Zitat antworten
Alt 03-09-2004, 10:13   #6 (permalink)
a.k.a maddin79
 
Benutzerbild von madflanderz
 
Registriert seit: Jul 2003
Ort: berlin f-hain
Beiträge: 1.693
hab jeze dies gemacht.

PHP-Code:
import mx.remoting.NetServices;
import mx.remoting.NetServiceProxy;
import mx.remoting.Connection;
import mx.remoting.debug.NetDebug;
 

NetDebug.initialize();


var 
serverConn =  NetServices.createGatewayConnection("http://localhost/flashservices/gateway.php");
var 
servD serverConn.getService("HelloWorld"this);

servD.sayHelloWorld();
trace(servD
die funktion sayHelloWorld liefert den string "HelloWorld" zurück. WIE komme ich nun daran. ich verstehe noch nicht ganz wo und wie die eintreffenden daten gespeichert werden. !!! HILFE !!!


edit: was bedeutet dieser fehler:

Zitat:
Status (object #2)
.....code: "NetConnection.Call.BadVersion"
.....description: ""
.....details: ""
.....level: "error"


__________________
www.madflanderz.de

ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°` _ addicted to bass _ `°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø

Geändert von maddin79 (03-09-2004 um 10:49 Uhr)
madflanderz ist offline   Mit Zitat antworten
Alt 03-09-2004, 11:18   #7 (permalink)
logout
 
Benutzerbild von JoshXP
 
Registriert seit: Aug 2003
Ort: Freiburg
Beiträge: 354
import mx.remoting.NetServices;
import mx.remoting.NetServiceProxy;
import mx.remoting.Connection;
import mx.remoting.debug.NetDebug;


NetDebug.initialize();


var
serverConn = NetServices.createGatewayConnection("http://localhost/flashservices/gateway.php");
var
servD = serverConn.getService("HelloWorld", this);

var ergebnis = servD.sayHelloWorld();
trace (ergebnis);

sollte gehen.

bad call version bedeutet das du einen fehler in der php datei hast.

mfg
__________________
Die Welt ist nicht das was du siehst sonder das was du glaubst zu sehen.

Wird auch in dunkelen ecken das Kellertier genannt.

Geändert von JoshXP (03-09-2004 um 11:45 Uhr)
JoshXP ist offline   Mit Zitat antworten
Alt 03-09-2004, 11:54   #8 (permalink)
a.k.a maddin79
 
Benutzerbild von madflanderz
 
Registriert seit: Jul 2003
Ort: berlin f-hain
Beiträge: 1.693
wie kann ich denn rauskriegen wo der fehler dort liegt?? ist ja nicht grade aussagekräftig die meldung. hab fogendes:

in der fla
PHP-Code:
import mx.remoting.NetServices;
import mx.remoting.NetServiceProxy;
import mx.remoting.Connection;
import mx.remoting.debug.NetDebug;
 

  
NetDebug.initialize();
  
  
serviceResult = new Object(); 
serviceResult.onResult = function(result){ 

    
// wird komischerweise NIE aufgerufen, ok - vielleicht wegen badCall

    
country_txt.text result
    
trace("hallo");
}
  
var 
serverConn =  NetServices.createGatewayConnection("http://localhost/flashservices/gateway.php");
var 
servD serverConn.getService("HelloWorld"serviceResult);

var 
erg servD.sayHelloWorld();
trace(erg);  // liefert false 
in HelloWorld.php
PHP-Code:
<?php

class HelloWorld {

    function 
HelloWorld() {
      
$this->methodTable = array (
        
'sayHelloWorld' => array (
          
'description' => 'Writes "Hello World" to Flash',
          
'access' => 'remote',
          
'roles' => 'HelloGroup',
          
'arguments' => array()
        )
      );
    }

    function 
sayHelloWorld() {
      return 
'Hello World';
    }
  }
?>
wo soll in den paar zeilen bitte der fehler sein? kann es vielleicht auch an irgendwelchen apache-einstellungen liegen?
__________________
www.madflanderz.de

ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°` _ addicted to bass _ `°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø

Geändert von maddin79 (03-09-2004 um 11:56 Uhr)
madflanderz ist offline   Mit Zitat antworten
Alt 03-09-2004, 12:39   #9 (permalink)
logout
 
Benutzerbild von JoshXP
 
Registriert seit: Aug 2003
Ort: Freiburg
Beiträge: 354
probiers mal mit kleinen dateinamen
__________________
Die Welt ist nicht das was du siehst sonder das was du glaubst zu sehen.

Wird auch in dunkelen ecken das Kellertier genannt.
JoshXP ist offline   Mit Zitat antworten
Alt 03-09-2004, 13:05   #10 (permalink)
~
 
Benutzerbild von Alienhunter
 
Registriert seit: Sep 2001
Ort: zufikon
Beiträge: 153
hi @ all vielleicht so..
ich habe es nur ergänzt aber nicht getested.
in der help steht etwas von einem PendingCall und responder..vielleicht geht es so ???

ActionScript:
  1. import mx.remoting.NetServices;
  2. import mx.remoting.NetServiceProxy;
  3. import mx.remoting.Connection;
  4. import mx.remoting.debug.NetDebug;
  5.  
  6.  
  7.   NetDebug.initialize();
  8.  
  9.  /*
  10. serviceResult = new Object();
  11. serviceResult.onResult = function(result){
  12.     // wird komischerweise NIE aufgerufen, ok - vielleicht wegen badCall
  13.     country_txt.text = result;
  14.     trace("hallo");
  15. }
  16.   */
  17. var serverConn =  NetServices.createGatewayConnection("http://localhost/flashservices/gateway.php");
  18. var servD = serverConn.getService("HelloWorld", serviceResult);
  19.  
  20. //var erg = servD.sayHelloWorld();
  21. var erg:PendingCall = servD.sayHelloWorld();
  22. //trace(erg);  // liefert false
  23.  
  24. //responder definieren
  25. erg.responder = new RelayResponder( this, "onConfigData", "onConfigFault" );
  26.  
  27. /* output von onConfigData*/
  28. function onConfigData(rs:ResultEvent):Void{
  29. trace(rs.result)   
  30. }
  31. /* Error */
  32. function onConfigFault(fault:FaultEvent){   
  33. trace(fault)
  34. }

Denn Panel NetConnetion Debugger sollte dann etwas zeigen was abgeht.
amf checkbox reinhängen

gruss @all

alienhunter

Geändert von Alienhunter (03-09-2004 um 13:09 Uhr)
Alienhunter ist offline   Mit Zitat antworten
Alt 03-09-2004, 13:18   #11 (permalink)
a.k.a maddin79
 
Benutzerbild von madflanderz
 
Registriert seit: Jul 2003
Ort: berlin f-hain
Beiträge: 1.693
!!!! YUHUUUUUUU !!!!

ich habe meinen ersten service erreicht !

danke für die hilfe alienhunter. habe noch ien bischen rumgekuckt und z.b. hier noch ein paar nützliche hinweise gefunden, z.b. daß man bei windows alle datei -, classen - und methodennamen klein schreiben soll.

ich habe jeze folgendes und das klappt auch:

in der fla:
PHP-Code:
import mx.remoting.NetServices;
import mx.remoting.NetServiceProxy;
import mx.remoting.Connection;
import mx.remoting.debug.NetDebug;
 

  
NetDebug.initialize();
  
  
serviceResult = new Object(); 
serviceResult.onResult = function(result){ 
    
country_txt.text result
    
trace("hallo");
    
trace(result);     // hier kommt die ausgabe, z.B. 2
}

var 
serverConn =  NetServices.createGatewayConnection("http://localhost/flashservices/gateway.php");
var 
servD serverConn.getService("counter"serviceResult);
var 
erg servD.addone(); 
und die datei counter.php
PHP-Code:
<?php 
/* 
* Counter service 
* Author: Jorge Solis 
* Site:  [url]www.flash-db.com/remoting/[/url] 
*/ 

class counter

      function 
counter(){ 
        
$this->methodTable = array( 
            
"addone" => array( 
              
"description" => "Increment counter in the txt file"
              
"access" => "remote"// available values are private, public, remote 
              
"argument" =>array("file"), 
              
"returntype" => "String" 
            

        ); 
      } 
       
      function 
addone(){ 
          
//Open first in read mode 
        
if($fp fopen("counter.txt""r")) { 
            while(!
feof($fp)) $oldCant fgets($fp4096); 
            
fclose($fp); 
            
//Open in write mode 
            
$fp fopen("counter.txt""w");             
            
$newCant $oldCant+1
            
fwrite($fp$newCant); 
            
fclose($fp); 
            return 
$newCant
        } else return 
"Error opening the file"
      }   

?>
erst als ich ALLES klein geschrieben habe hat es funktioniert.


edit: toll Josh, hab grade erst dein beitrag mit den dateiname gelesen, hihi, auch an dich ein dankeschön und rauch nich soviel, geb lieber was ab
__________________
www.madflanderz.de

ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°` _ addicted to bass _ `°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø

Geändert von maddin79 (03-09-2004 um 13:49 Uhr)
madflanderz ist offline   Mit Zitat antworten
Alt 03-09-2004, 13:29   #12 (permalink)
~
 
Benutzerbild von Alienhunter
 
Registriert seit: Sep 2001
Ort: zufikon
Beiträge: 153
hi @maddin79

to fast for me .... subi !!

Das sieht ja richtig klasse aus!!!

use the force maddin79

alien
Alienhunter ist offline   Mit Zitat antworten
Alt 10-09-2004, 10:54   #13 (permalink)
logout
 
Benutzerbild von JoshXP
 
Registriert seit: Aug 2003
Ort: Freiburg
Beiträge: 354
So hier mal noch eine variante. Is auch eine gute variante

mfg.

Remoting Class
http://www.amfphp.org/components/

PHP-Code:

import org
.amfphp.remoting.NetServices;

serviceResult = new Object();
serviceResult.onResult = function(result) {
    
trace("Input");
};

var 
serverConn NetServices.createGatewayConnection("http://www.supertoll.net/gateway.php");
var 
servD serverConn.getService("site"serviceResult);
var 
erg servD.getPixelMenu(1);

trace(erg); 
__________________
Die Welt ist nicht das was du siehst sonder das was du glaubst zu sehen.

Wird auch in dunkelen ecken das Kellertier genannt.

Geändert von JoshXP (10-09-2004 um 12:02 Uhr)
JoshXP ist offline   Mit Zitat antworten
Alt 13-09-2004, 08:42   #14 (permalink)
a.k.a maddin79
 
Benutzerbild von madflanderz
 
Registriert seit: Jul 2003
Ort: berlin f-hain
Beiträge: 1.693
hi josh,

emtweder ich bin vom WE noch zu verpeilt oder ich seh grad null unterschied (falls es überhaupt einen gibt) zur mx.remoting.NetServices klasse.

kannste mal bitte kurz erläutern, was nun an der org.amfphp.remoting.NetServices der vorteil ist und warum ich lieber diese klasse verwenden sollte???
__________________
www.madflanderz.de

ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°` _ addicted to bass _ `°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø
madflanderz ist offline   Mit Zitat antworten
Alt 13-09-2004, 12:41   #15 (permalink)
-
 
Registriert seit: Jul 2003
Beiträge: 714
Tach, ich habe mal die verschiedenen Verbindungsaufbauverfahren und Nutzungsarten unter Flash MX 2004 mit den dazugehörigen Komponenten auseinander gesetzt.
Wenn ihr mal testen wollt, dann überall die gatewayURL ändern.
Der Service remoteKlasse steht unten. Ist aber nur ein kleines Testscript.
remoteKlasse müsst ihr natürlich in euren Service-Ordner packen.

Ich habe ausserdem ein *.rar drangehangen wo alle Scripts drin sind.

Scripte runterladen

1. Verfahren: new Connection()
Vorteile:
- Verbindung kann beliebig aufgebaut und getrennt werden
- Service kann man ohne Probs wechseln da der Aufruf über Service.Methode geht

Nachteile
- keine Fehlerverarbeitung
(- keine vollständige zentrale Ergebnis- und Fehlerverarbeitung)
(- Parameter werden „unüblich übergeben)

Beispiel 1:
connection.fla
ActionScript:
  1. import mx.remoting.Connection;
  2. import mx.rpc.RelayResponder;
  3. import mx.rpc.ResultEvent;
  4. import mx.rpc.FaultEvent;
  5. mx.remoting.debug.NetDebug.initialize();
  6. //
  7. // Gateway - URL
  8. var gatewayURL:String = "http://localhost/remote/gateway/gateway.php";
  9. // neue Verbindung
  10. var con:Connection = new Connection();
  11. // Ergebnis- oder Fehlerverarbeitung
  12. var dataResp:RelayResponder = new RelayResponder(this, "erfolgreich", "fehlerhaft");
  13. // Erstelle Verbindung zum Gateway
  14. con.connect(gatewayURL);
  15. // Rufe Methode auf (Service.Methode)
  16. // deshalb muss kein Service vorher definiert werden
  17. con.call("remoteKlasse.methode1", dataResp);
  18. // Argumente werden hinten dran gehangen
  19. // GEFÄLLT MIR ABER NICHT
  20. con.call("remoteKlasse.methode3", dataResp, "Ich bin gut!");
  21. // Schließt Verbindung
  22. con.close();
  23. // Wird nie ausgeführt da keine Verbindung besteht
  24. con.call("remoteKlasse.methode2", dataResp);
  25. //
  26. // bei Erfolg wird die Funktion aufgerufen:
  27. function erfolgreich(meinErgebnis:ResultEvent) {
  28.     trace("Ergebnis: "+meinErgebnis);
  29. }
  30. // Bei Fehler diese:
  31. // Wird aber nie aufgerufen, da über
  32. // Connection irgendwie keine Fehler
  33. // verarbeitet werden
  34. // NACHTEIL!!!
  35. function fehlerhaft(meinFehler:FaultEvent) {
  36.     trace("Fehler: "+meinFehler.fault.faultstring);
  37.     trace("Code: "+meinFehler.fault.faultcode);
  38.     trace("Typ: "+meinFehler.fault.type);
  39.     trace("Detail: "+meinFehler.fault.detail);
  40. }

2. Verfahren: new Service();
Vorteile:
- Fehlerverarbeitung
- vollständige zentrale Ergebnis- und Fehlerverarbeitung
- auch individuelle Ergebnis- und Fehlerverarbeitung möglich
- Parameter werden normal übergeben

Nachteil:
- Verbindung kann nicht beliebig aufgebaut und getrennt werden
- Service muss man manuell definieren.

Beispiel 2: individuelle Ergebnis- und Fehlerverarbeitung
service1.fla
ActionScript:
  1. import mx.remoting.Service;
  2. import mx.remoting.PendingCall;
  3. import mx.rpc.RelayResponder;
  4. import mx.rpc.ResultEvent;
  5. import mx.rpc.FaultEvent;
  6. mx.remoting.debug.NetDebug.initialize();
  7. //
  8. // Gateway - URL und Service
  9. var gatewayURL:String = "http://localhost/remote/gateway/gateway.php";
  10. var meinService:String = "remoteKlasse";
  11. // Erstelle Verbindung und weise Service zu
  12. var serv:Service = new Service(gatewayURL, null, meinService);
  13. // Rufe Service-Methoden auf
  14. var aufruf1:PendingCall = serv.methode1();
  15. // Argumentübergabe ist logischer
  16. var aufruf2:PendingCall = serv.methode3("Ich bin gut");
  17. //weise Ergebnis- oder Fehlerverarbeitungsfunktionen zu
  18. // Nur vorteilhaft wenn unterschiedlich Ergebnise, wie Object, Array
  19. // oder String zurückgegeben wird, worauf unterschiedlich reagiert werden muss
  20. // SONST ZU AUFWENDIG
  21. aufruf1.responder = new RelayResponder(this, "erfolgreich", "fehlerhaft");
  22. aufruf2.responder = new RelayResponder(this, "erfolgreich", "fehlerhaft");
  23. //
  24. // MAN KANN DIE VERBINDUNG ABER NICHT UNTERBRECHEN
  25. // ODER ICH HABE ES NOCH NICHT GEFUNDEN
  26. //
  27. // bei Erfolg wird die Funktion aufgerufen:
  28. function erfolgreich(meinErgebnis:ResultEvent) {
  29.     trace("Ergebnis: "+meinErgebnis.result);
  30. }
  31. // Bei Fehler diese:
  32. function fehlerhaft(meinFehler:FaultEvent) {
  33.     trace("Fehler: "+meinFehler.fault.faultstring);
  34.     trace("Code: "+meinFehler.fault.faultcode);
  35.     trace("Typ: "+meinFehler.fault.type);
  36.     trace("Detail: "+meinFehler.fault.detail);
  37. }

Beispiel 2.1: zentrale Ergebnis- und Fehlerverarbeitung
service2.fla
ActionScript:
  1. import mx.remoting.Service;
  2. import mx.rpc.RelayResponder;
  3. import mx.rpc.ResultEvent;
  4. import mx.rpc.FaultEvent;
  5. mx.remoting.debug.NetDebug.initialize();
  6. //
  7. // Gateway - URL und Service
  8. var gatewayURL:String = "http://localhost/remote/gateway/gateway.php";
  9. var meinService:String = "remoteKlasse";
  10. // zentrale Ergebnis- oder Fehlerverarbeitung
  11. var dataResp:RelayResponder = new RelayResponder(this, "erfolgreich", "fehlerhaft");
  12. // Erstelle Verbindung und weise Service zu
  13. var serv:Service = new Service(gatewayURL, null, meinService, null, dataResp);
  14. // Rufe Service-Methoden auf
  15. serv.methode1();
  16. serv.methode2();
  17. // Argumentübergabe ist logischer
  18. serv.methode3("Ich bin gut");
  19. //
  20. // MAN KANN DIE VERBINDUNG ABER NICHT UNTERBRECHEN
  21. // ODER ICH HABE ES NOCH NICHT GEFUNDEN
  22. //
  23. // bei Erfolg wird die Funktion aufgerufen:
  24. function erfolgreich(meinErgebnis:ResultEvent) {
  25.     trace("Ergebnis: "+meinErgebnis.result);
  26. }
  27. // Bei Fehler diese:
  28. function fehlerhaft(meinFehler:FaultEvent) {
  29.     trace("Fehler: "+meinFehler.fault.faultstring);
  30.     trace("Code: "+meinFehler.fault.faultcode);
  31.     trace("Typ: "+meinFehler.fault.type);
  32.     trace("Detail: "+meinFehler.fault.detail);
  33. }

3. Verfahren: new Connection(); + new Service();
Vorteile:
- alle von new Connection(); + new Service();

Nachteile:
- Service muss man manuell definieren.

Beispiel 3:
connection-service.fla
ActionScript:
  1. import mx.remoting.Connection;
  2. import mx.remoting.Service;
  3. import mx.rpc.RelayResponder;
  4. import mx.rpc.ResultEvent;
  5. import mx.rpc.FaultEvent;
  6. mx.remoting.debug.NetDebug.initialize();
  7. //
  8. // Gateway - URL und Service
  9. var gatewayURL:String = "http://localhost/remote/gateway/gateway.php";
  10. var meinService:String = "remoteKlasse";
  11. // neue Verbindung
  12. var con:Connection = new Connection();
  13. // zentrale Ergebnis- oder Fehlerverarbeitung
  14. var dataResp:RelayResponder = new RelayResponder(this, "erfolgreich", "fehlerhaft");
  15. // Erstelle Verbindung zum Gateway
  16. con.connect(gatewayURL);
  17. // Definiere Service
  18. var serv:Service = new Service(null, null, meinService, con, dataResp);
  19. // Rufe Methoden auf
  20. serv.methode1();
  21. serv.methode3("Ich bin der Beste!");
  22. // Schließt Verbindung
  23. con.close();
  24. // Wird nie ausgeführt da keine Verbindung besteht
  25. serv.methode2();
  26. // Verbinde wieder
  27. con.connect(gatewayURL);
  28. serv.methode3("methode2 übersprungen");
  29. //
  30. // bei Erfolg wird die Funktion aufgerufen:
  31. function erfolgreich(meinErgebnis:ResultEvent) {
  32.     trace("Ergebnis: "+meinErgebnis.result);
  33. }
  34. // Bei Fehler diese:
  35. function fehlerhaft(meinFehler:FaultEvent) {
  36.     trace("Fehler: "+meinFehler.fault.faultstring);
  37.     trace("Code: "+meinFehler.fault.faultcode);
  38.     trace("Typ: "+meinFehler.fault.type);
  39.     trace("Detail: "+meinFehler.fault.detail);
  40. }


Service:
remoteKlasse.php
PHP-Code:
<?php    
class remoteKlasse
{

    function 
remoteKlasse()
    {        
        
$this->methodTable = array(
        
"methode1" => array(
                
"access" => "remote"
                
"returns" => "string"
            
),
      
"methode2" => array(
                
"access" => "remote",
                
"returns" => "string"
            
),
      
"methode3" => array(
                
"access" => "remote",
        
"arguments" => array("arg"),
                
"returns" => "string"
            
)
        );
    }
    function 
methode1() {
    return 
"Flash Remoting funzt!";
  }
  function 
methode2() {
    return 
"Flashforum.de";
  }
  function 
methode3($arg) {
    return 
"Argument: ".$arg;
  }
}
?>
Wenn ihr in der Flashumbegebung den NetConnection - Debugger einblendet könnt ihr die Aufrufe und die Ergebnisse verfolgen (RemotingDebugClasses aus Bibliothek auf die Bühne ziehen).

Wenn Fehler in Script (PHP, AS) sind, werden die abgefangen (ausser bei der Beispiel 1). Durch die Ausgabe.
Es wird auch ein Fehlercode eingeblendet. meinFehler.fault.faultcode

Der Fehlercode steht in der Datei flashservices\exception\Exceptions.php .

Macht mal einen Fehler in das Service-PHP-Script (remoteKlasse.php) und ihr seht es.

So wäre es möglich eine eigene Fehlerklasse zu erstellen.
z.b. Fehlercode 256 ist ein Scriptfehler

Ich würde mich freuen wenn ihr dazu noch etwas beitragen könntet.
Oder mir meine Fehler nennen könnt, wenn welche drin sind.
Habe aber keine gefunden.

Viel Spaß!

cu messingfeld

Scripte runterladen

EDIT:
Ergänzung des Types :ResultEvent bei manchen Scripts.
Habe ich in der Eile vergessen.
(Datei wurde auch aktualisiert)

Geändert von messingfeld (13-09-2004 um 13:04 Uhr)
messingfeld 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 00:05 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele