| |||||||
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: Sep 2006
Beiträge: 34
| falsche Rückgabewerte aus Funktion
Hallo zusammen ! Folgendes "Problem" mit main.asc: PHP-Code: Wie aus dem Log zu sehen ist passiert das aber viel zu früh, da der Rückgabewert nicht true, sondern "HUHU" ist. Somit scheitert auch die definierte if Abfrage. Muss man bei remote Abfragen irgend etwas anders machen oder kann / muss man gar einen (sleep) timer definieren, um die richtigen Werte zu erhalten ? Hier das log: Code: 2006-10-05 20:42:30 8852 (s)2641173 validUser ? true - 2006-10-05 20:42:30 8852 (s)2641173 Connection accepted ! - 2006-10-05 20:42:30 8852 (s)2641173 SESSION: 7907063a0225b091349749548c13522c accepted. - 2006-10-05 20:42:30 8852 (s)2641173 NetServices info 1: isValidUser_Result was received from server: HUHU- 2006-10-05 20:42:30 8852 (s)2641173 who[NetServices] severity[info] number[1] meesage[isValidUser_Result was received from server: HUHU] - Stefan |
| | |
| | #2 (permalink) |
| Supermassive Registriert seit: Aug 2004 Ort: Frankfurt, Bornheim
Beiträge: 861
|
xervus, wie das immer bei rpc ist, passieren die serviceaufrufe asynchron. in der zeile clientObj.validUsr = service.isValidUser(clientObj.ticket); rufst du eine remote funktion und in der nächsten zeile versuchst du bereits, mit dem ergebnis zu arbeiten. das ist zu diesem zeitpunkt aber noch gar nicht da! für sowas verwendet man result- und fault-handler, die als prefix wieder den namen der remotefunktion haben: isValidUser_Result und isValidUser_Fault... zumindest in der coldfusion-welt. wie's mit php im detail funktioniert, kann ich aber nicht sagen. aber vielleicht hilft das ja schon... cheers, thomas
__________________ Personal » amenity*blogging » elysian.de » Flexpertise - Enterprise Flex Collaboration Networks » Xing » ColdFusion Community Everything Cairngorm » cairngormdocs.org |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Sep 2006
Beiträge: 34
|
Hallo und Danke für den Ansatz. Wie arbeitet man denn in der ColdFusion Welt damit ? Im Prinzip geht es ja hier nicht um PHP, sondern um reines Actionscript. Verstehe ich das so, dass der Zusatz _Result bewirken soll, dass zunächst das Ergebnis abgewartet wird ? Kannst Du mir mal ein Beispiel schicke, wo Du sowas verbaut hast ? Danke und Gruß Stefan |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Sep 2006
Beiträge: 34
|
Hallo nochmal ich ;-) Sagen wir es mal so ... das mit dem "isValidUser_Result" habe ich verstanden. An dieser Stelle fehlen mir dann natürlich die dem application.onConnect übergebenen Werte der Variable clientObj :-( Wie bekomme ich die denn noch dazu ? Parametisieren kann man den Aufruf von isValidUser_Result(result) an dieser Stelle ja wohl kaum noch ... und das Array clientObj erst zu PHP zu senden um es dann im result zurück zu holen wäre ja wohl auch nicht die beste Lösung ?! Danke schön !!! |
| | |
| | #6 (permalink) | ||
| Supermassive Registriert seit: Aug 2004 Ort: Frankfurt, Bornheim
Beiträge: 861
| Zitat:
Zitat:
die alternative wäre, die parameter (maximal ein set an ids, kein array oder so...) unverändert wieder mitsamt result zurückzugeben. solange man sich in der klassischen client-pul-situation befindet, führt an dieser oder einer ähnlichen lösung kein weg vorbei. auch deshalb heisst es "asynchron" ![]() cheers, thomas
__________________ Personal » amenity*blogging » elysian.de » Flexpertise - Enterprise Flex Collaboration Networks » Xing » ColdFusion Community Everything Cairngorm » cairngormdocs.org Geändert von elysian (06-10-2006 um 23:30 Uhr) | ||
| | |
| | #7 (permalink) |
| Neuer User Registriert seit: Sep 2006
Beiträge: 34
|
Hallo zurück ! Ich habe es Gestern erfolgreich ans Laufen bekommen - ob der Weg sagen wir mal "gut" ist stelle ich hier zur Diskussion - jedenfalls funktioniert er nach ersten Tests: main.asc Code: load("netservices.asc");
function isValidUser_Result (result) {
trace("wird ausgefuehrt :" + result);
switch(result) {
case true:
trace("Connection accepted !");
application.acceptConnection(_global.clientObj);
trace("SESSION accepted.");
break;
default:
trace("Connection rejected !");
application.rejectConnection(_global.clientObj);
service.deactiateUser(_global.clientObj.ticket);
trace("SESSION " + _global.clientObj.ticket + " rejected.");
}
}
// define Remote Connections
NetServices.setDefaultGatewayUrl("http://192.168.110.8/gateway.php");
var gatewayConnection = NetServices.createGatewayConnection();
var service = gatewayConnection.getService("UserHandling", this);
application.onAppStart = function ()
{
trace(' -------------------------------- ');
trace('application started: ' + this.name);
trace('running version : 06.10.05.16');
trace(' -------------------------------- ');
}
application.onConnect = function(clientObj, ticket)
{
// Define the named result function getUserList_Result( ) to handle the result from
// the service function getUserList( ).
_global.clientObj = clientObj;
clientObj.validUsr = false;
clientObj.ticket = ticket;
service.isValidUser(clientObj.ticket);
} Auch klappt die Unterscheidung mit true und false. Die Abfrage false an sich habe ich als "default" Regel der Switch Funktion definiert, da mich eigentlich ja nur ein definitives "true" interessiert ... Verbesserungsvorschläge ? Danke noch mal !!! Viele Grüße Stefan |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |