Die Klasse die das Array bekommt und weiter verrbeitet(relvanter Auszug):
ActionScript:
class solarsmart extends MovieClip
{ var d,e,Ebene, xm, xg, ym, yg = new Number ();
var TFWert = new Object ();
var Namen_Array :Array = ["NeuerWert","Loeschen", "Wertebereich", "Beenden"];
var Text_Array : Array = ["Neuen Wert hinzufügen", "Wert löschen", "Wertebereich ändern","Beenden"];
var ButtonArray : Array = ["Ende", "Ueber","Auf","Ab"]
var ButtonTextArray : Array = ["Beenden","Übernehmen","Auf","Ab" ]
var WerteArray : Array = ["Xmin", -90, "Ymin", 0, "Xmax", 45, "Ymax", 1000];
var TitelArray : Array = ["Ort", "Winkel", "Leistung"]
var DatSatzArrayO, DatSatzArrayS : Array = []; //Array mit Werten aus DatenBank, sotiert
function Werte()
{ var i,x,y : Number;
Ebene = 0;
e = 0;
var abgleich1 = new abgleich();
//trace("SFWSEF");
DatSatzArrayO = abgleich1.abruf();//-----Array mit Werten aus DatenBank im Orginal
trace(DatSatzArrayO[0].id);
for(i in DatSatzArrayO)
{ //vergeleich(i)
if(!vergleich(i,1)) //------------------DatsatzArray0[i] not in DatSatzArrayS[])
{ DatSatzArrayS[e] = DatSatzArrayO[i].Neigung;
e++;
} //---------------------------------------if(not in Dat...O[]
} //---------------------------------------for( i in DatSatzArray0)-End
//e =0; // DatSatzArray.lenth;
for( i in DatSatzArrayO)
{ if(vergleich(i,2)) //-----------------DatSatzArray0[i] in DatSatzArrayS[]
{ if(DatSatzArrayS[i].length == 0) { e = 0;} //Überprüfen ob in der 2. Dimesion schon ein Wert vorhaden ist
DatSatzArrayS[i][e] = DatSatzArrayO[i].Azimut;
e++;
} //---------------------------------------if(not in Dat...O[]
} //---------------------------------------for( i in DatSatzArray0)-End
e = 0;
var werte1 = new werte();
werte1.wertearray(DatSatzArrayS);
for(i in DatSatzArrayS)
{ y = NeigungInY(DatSatzArrayS[i]);
x = AzimutInX(DatSatzArrayS[i][1])
_root.attachMovie("Fenster", "Wert"+i,e,x,y,100,100);
e++;
} //---------------------------------------for( i in DatSatzArrayS)-End
} //--------------------------------function Werte-End
function vergleich(n, Dimension : Number)
{ var i : Number;
if( Dimension == 1)
{ for( i in DatSatzArrayS)
{ if (DatSatzArrayO[n].Neigung == DatSatzArrayS[i]){return true;}else{return false;}
}
}
if( Dimension == 2)
{ for( i in DatSatzArrayS[n])
{ if (DatSatzArrayO[n].Azimut == DatSatzArrayS[n][i]){return true;}else{return false;}
}
}
} //---------------------function vergleich-End
function NeigungInY( neig : Number)
{ var y : Number;
return y;
}
function AzimutInX( azi : Number)
{ var x: Number;
return x;
}
Die Klasse die aufgerufen wird und ein Array mittels return zurückgeben soll:
ActionScript:
class abgleich extends MovieClip
{
function onPress()
{ abruf();
}
function abruf()
{ var VarSend = new LoadVars();
var VarLoad = new LoadVars();
var a : Number;
var id, Azimut, Neigung, Ort, Name, PLZ, J2000, J2001, J2002, J2003, J2004, J2005;
var DatSatzArrayO : Array = []; //Array mit Werten aus DatenBank im Orginal
VarSend.ort = "Orttest";
VarSend.neig = "Neigungtest";
VarSend.azi = "Azimutest";
VarSend.plz = "PLZtest";
VarSend.name= "Nametest";
VarSend.trans = "send";
//VarSend.send('http://localhost/solar/PHP.php', VarLoad, "POST");
VarSend.trans = "notsend";
VarLoad.trans = "load";
VarLoad.sendAndLoad('http://localhost/solarsmart/PHP.php', VarLoad, "POST");
//trace("test");
VarLoad.onLoad = function (success)
{ if (success)
{ id = this.id.split(",");
Azimut = this.Azimut.split(",");
Neigung = this.Neigung.split(",");
Ort = this.Ort.split(",");
Name = this.Name.split(",");
PLZ = this.PLZ.split(",");
J2000 = this.J2000.split(",");
J2001 = this.J2001.split(",");
J2002 = this.J2002.split(",");
J2003 = this.J2003.split(",");
J2004 = this.J2004.split(",");
J2005 = this.J2005.split(",");
//a = 10; //Anzahl der Datensätze
//for(a in id)
for(a=0; a<id.length; a++)
{ var DatSatzArrayO = new Object();
//trace(a);
//trace(Ort[a]);
DatSatzArrayO.id = id[a];
DatSatzArrayO.Azimut = Azimut[a];
DatSatzArrayO.Neigung = Neigung[a];
DatSatzArrayO.Ort = Ort[a];
DatSatzArrayO.Name = Name[a];
DatSatzArrayO.PLZ = PLZ[a];
DatSatzArrayO.J2000 = J2000[a];
DatSatzArrayO.J2001 = J2001[a];
DatSatzArrayO.J2002 = J2002[a];
DatSatzArrayO.J2003 = J2003[a];
DatSatzArrayO.J2004 = J2004[a];
DatSatzArrayO.J2005 = J2005[a];
DatSatzArrayO[a] = DatSatzArrayO;
//trace(DatSatzArrayO[a].Ort+a);
} //--------------------------for(a in Azimut)-End
/*for( var prop in this )
{ trace (" key " + prop + " = " + this[prop]);
}*/
VarSend.trans = "notload";
return DatSatzArrayO;
} else
{ trace (" Error loading variables ");
} //-----------------------------------------------------------if(success)_construct-End
} //--------------------------------------------------------------function onLoad-End
} //--------------------------------------------------------------function onPress-End
} //--------------------------------------------------------------class FlashPHP-End
Ich habe auch schon versucht, beide Klassen in eine zu schreiben, wird halt unübersichtlich und wie die übergabe dann zwischen den Funktionen funktioniert wiß ich auch nicht.