[ascoders] Re: Klassen Fehler
- From: 1stpixel <1stpixel@xxxxxxxxxxxxxxx>
- To: ascoders@xxxxxxxxxxxxx
- Date: Wed, 28 Apr 2004 00:32:05 +0200
es verpuff nicht, sondern es kommt einfach nichts an ...
baue ich ein einfaches trace(this) ein, was den xml text ausgeben sollte, kommt
einfach null.
> Wenn __onLoad = function (success) aufgerufen wird (asynchron), ist die
__onLoad gehört ja zu __replyXML:XML was dann aufgerufen wird, wenn
__replyXML.loaded = true
...
du traust flash aber auch gar nichts zu, was ? ;-)
... aber trotzdem ne gute idee mit der callback funktion ...
hier der aktuelle stand:
class Database.Mysql {
/*
* Class Vars
*/
private var __database:String;
private var __gateway:String;
private var __logFile:String;
private var __sendXML:XML;
private var __replyXML:XML;
private var __onLoad:Function;
private var __callback:Function; // NEU ... ich weiß etwas dirty aber
...
public var diz;
// constructor
function Mysql (gw, callback:Function) {
__callback = callback;
arguments.length == 1 ? gateway (gw) : null;
diz = this;
};
/*
* Getter and Setter for __datatbase
*/
function set database (db:String):Void {
if (db != undefined) {
__database = db;
} else {
trace ("Error: ´Database.Mysql.set__database()´ requires 1
Argument: [String]!");
};
};
function get database ():String {
return (__database);
};
/*
* Getter and Setter for __path2PHP
*/
function set gateway (path:String):Void {
if (path != undefined) {
__gateway = path;
}else {
trace ("Error: ´Database.Mysql.setGateway()´ requires 1
Argument: [String]!");
}
};
public function get gateway ():String {
return (__gateway);
};
/*
* main Function
*/
public function query(qs:String) {
var mysql = this;
__sendXML = new XML();
__sendXML.contentType = "text/xml";
__replyXML = new XML();
__sendXML.parseXML("<mxcomm><query_db>"+ __database +"</query_db><query_str><![CDATA["+
qs +"]]></query_str></mxcomm>");
__onLoad = function (success) {
if (success) {
trace (diz);
mysql.__logFile += this + "\n";
mysql.functionCallback (this);
} else {
mysql.__logFile = "mysql connection failed.\n";
mysql.showLog();
};
};
__replyXML.onLoad = __onLoad;
__sendXML.sendAndLoad(gateway, __replyXML);
};
private function functionCallback (_xml:XML) {
__callback (_xml);
}
public function set callback (func:Function) {
__callback = func;
}
public function get callback ():Function {
return __callback;
}
/*
* Custom Debug Functions
*/
public function showLog():Void {
trace (__logFile);
};
function get logFile():String {
return (__logFile);
};
public function clearLog():Void {
__logFile = "";
};
}
1stpixel
Ralf Siegel schrieb:
leider weiß ich aber immer noch nicht wieso onLoad zwar success hat,
aber nischt ankommt ?!
mhm, das return(this) verpufft.
Wenn __onLoad = function (success) aufgerufen wird (asynchron), ist die
query() Methode schon längst durch, d.h. die gibt immer undefined
(nischt) zurück.
Du müsstest sowas wie im else-Zweig machen, z.B.
if (success) {
mysql.__logFile += this + "\n";
mysql.callback(this)
r.
-------------------------------------------------------------
Ralf Siegel - Freelance Developer
Recommended Listening: Isobell Campell - Amorino (Snowstorm)
http://www.isobelcampbell.com
-------------------------------------------------------------
------------------------------------------------------
Archiv : http://www.freelists.org/archives/ascoders/
Optionen : http://www.freelists.org/list/ascoders
------------------------------------------------------
------------------------------------------------------
Archiv : http://www.freelists.org/archives/ascoders/
Optionen : http://www.freelists.org/list/ascoders
------------------------------------------------------
- Follow-Ups:
- [ascoders] Re: Klassen Fehler
- From: 1stpixel
- References:
- [ascoders] Re: Klassen Fehler
- From: Ralf Siegel
- [ascoders] Re: Klassen Fehler
- From: Ralf Siegel
Other related posts:
- » [ascoders] Klassen Fehler
- » [ascoders] Re: Klassen Fehler
- » [ascoders] Re: Klassen Fehler
- » [ascoders] Re: Klassen Fehler
- » [ascoders] Re: Klassen Fehler
- » [ascoders] Re: Klassen Fehler
leider weiß ich aber immer noch nicht wieso onLoad zwar success hat, aber nischt ankommt ?!
mhm, das return(this) verpufft.
Wenn __onLoad = function (success) aufgerufen wird (asynchron), ist die query() Methode schon längst durch, d.h. die gibt immer undefined (nischt) zurück.
Du müsstest sowas wie im else-Zweig machen, z.B.
if (success) {
mysql.__logFile += this + "\n";
mysql.callback(this)r.
------------------------------------------------------------- Ralf Siegel - Freelance Developer Recommended Listening: Isobell Campell - Amorino (Snowstorm) http://www.isobelcampbell.com -------------------------------------------------------------
------------------------------------------------------ Archiv : http://www.freelists.org/archives/ascoders/ Optionen : http://www.freelists.org/list/ascoders ------------------------------------------------------
------------------------------------------------------ Archiv : http://www.freelists.org/archives/ascoders/ Optionen : http://www.freelists.org/list/ascoders ------------------------------------------------------
- [ascoders] Re: Klassen Fehler
- From: 1stpixel
- [ascoders] Re: Klassen Fehler
- From: Ralf Siegel
- [ascoders] Re: Klassen Fehler
- From: Ralf Siegel