Zurück   Flashforum > Flash und Server > Flash Remoting

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 25-06-2004, 09:19   #1 (permalink)
Neuer User
 
Registriert seit: Jun 2004
Beiträge: 3
remotin in a class

Hallo Flasher!

Ich versuche eine allgmeine Klasse zu bauen um sie für die Verbindungen zu AMFPHP zu nutzen, komme aber irgendwie nicht weiter.

Kann jemand helfen

>>source start

import NetServices
import NetDebug.as

class connTo{
private var gateway:String = "http://localhost/Hello/gateway.php";
private var service:String = "HelloWorld";
private var myServiceObject;
private var myConn;


function connTo(){
myConn = NetServices.createGatewayConnection(gateway);
callService();
}

function callService(){
myServiceObject = myConn.getService(service, this);
}
function HelloWorld_Result(result){
trace(result);
}
}

<< source end

danke marliese
m.schulz ist offline   Mit Zitat antworten
Alt 28-06-2004, 22:31   #2 (permalink)
.
 
Registriert seit: Jul 2003
Ort: Berlin
Beiträge: 32
allgemeine klasse zur verbindung mit amfphp
(benötigt Macromedia Flash Remoting for Flash MX 2004 ActionScript 2.0)
PHP-Code:
import mx.remoting.Service;
import mx.rpc.RelayResponder;

class 
business.ServiceLocator
{
    private var 
gatewayUrl:String;
    private var 
responseHandler:RelayResponder;
    private var 
serviceDirectory:Array;
    private var 
serviceCache:Array;
    
    public function 
ServiceLocator responseHandler:RelayResponder )
    {
        
this.responseHandler responseHandler;
        
this.serviceDirectory = new Array ();
        
this.serviceCache = new Array ();
        
this.gatewayUrl "http://www.***.de/php/gateway.php";
        
this.initialiseServices ();
    }

    public function 
getService serviceName:String ):Service
    
{
        if ( 
this.serviceExists serviceName ) )
        {
            return 
this.getServiceInstance serviceName );
        }
    }
    
    private function 
initialiseServices ():Void
    
{
        
this.addService "Sin""initialSinService" );
    }
    
    private function 
addService serviceName:StringservicePath:String ):Void
    
{
        
this.serviceDirectory[serviceName] = servicePath;
    }
    
    private function 
serviceExists serviceName:String ):Boolean
    
{
        return 
this.getServicePath serviceName ) != null;
    }
    
    private function 
getServicePath serviceName:String ):String
    
{
        return 
this.serviceDirectory[serviceName];
    }
    
    private function 
getServiceInstance serviceName:String ):Service
    
{
        var 
service:Service this.serviceCache[serviceName];
        var 
serviceInstantiated:Boolean = (service != null);
        if ( !
serviceInstantiated )
        {
            
service this.getServiceConnection serviceName );
            
this.serviceCache[serviceName] = service;
        }
        return 
service;
    }
    
    private function 
getServiceConnection serviceName:String ):Service
    
{
        if (
this[serviceName] == undefined)
        {
            
this[serviceName] = new Servicethis.gatewayUrlnullthis.getServicePathserviceName ), nullthis.responseHandler );
        }
        return 
this[serviceName];
    }

beispiel:

PHP-Code:
import business.Delegate;
import commands.Command;
import view.Popup;
import view.Container;
import mx.rpc.ResultEvent;
import mx.rpc.FaultEvent;
import mx.rpc.RelayResponder;

class 
commands.LoadProjectsCommand extends RelayResponder implements Command
{
    private var 
delegate:Delegate 
        
    
public function LoadProjectsCommand()
    {
        
this.delegate = new Delegatethis );
    }
        
    public function 
execute():Void
       
{
        
delegate.loadProjects();
    }
        
    private function 
onResultres:ResultEvent ):Void
    
{
        var 
result:Object res.result;
        var 
count:Number result.length;
        var 
obj:Array = new Array();

        for (var 
i:Number 0counti++)
        {
            
obj[i] = {image:result.getItemAt ).imagetext:result.getItemAt ).text}
        }
                
        
Container.setProjectsobj );
    }

    private function 
onFaultfault:FaultEvent ):Void
    
{
        
Popup.alertfault.fault.faultstring );
    }


PHP-Code:
import business.ServiceLocator;
import mx.remoting.Service;
import mx.rpc.RelayResponder;

class 
business.Delegate
{
    private var 
service:Service;
    private var 
responseHandler:RelayResponder;
    
    public function 
DelegateresponseHandler:RelayResponder )
    {
        
this.responseHandler responseHandler;
        
        var 
serviceLocator:ServiceLocator = new ServiceLocatorthis.responseHandler );
        
service serviceLocator.getService"Sin" );
    }    
        
    public function 
loadProjects ():Void
    
{
        
service.loadProjects ();
    }

beste grüße rickenbacke

Geändert von rickenbacke (28-06-2004 um 23:12 Uhr)
rickenbacke ist offline   Mit Zitat antworten
Alt 16-08-2004, 16:33   #3 (permalink)
Neuer User
 
Registriert seit: Jun 2004
Beiträge: 3
danke

vielen dank rickenbacke
m.schulz 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:15 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele