Ciao, ho un piccolo problema e non riesco ad uscirne!!
Mio XML:
AS3:Codice PHP:<setting>
<parameters id="1" parente="0" nome="MENU1"></parameters>
<parameters id="10" parente="1" nome="SUB-MENU1"></parameters>
<parameters id="101" parente="10" nome="SUB-SUB-MENU1"></parameters>
</setting>
Questo semplice script mi restituisce i menu parenti partendo da uno qualsiasi. Ad esempio se l'id passato alla funzione create fosse 101 mi aspetterei di avere l'array dei parenti popolato con 10,1.Codice PHP:private function create(id:int) {
var a_pr:Array = getparent(id, false);
trace('Parenti: ' + a_pr);
}
private function getparent(id:int,started:Boolean) {
if (started != true) {
var parenti:Array = new Array();
}
if (_main[id].parente > 0 ) {
parenti.push(_main[id].parente);
getparent(_main[id].parente,true);
}
return parenti;
}
Passando 101 l'array si popola con 10,1 ma ho questo errore: Impossibile accedere a una proprietà o a un metodo di un riferimento oggetto null.
Passando invece un id non presente nell'xml ad esempio 0 l'errore è: Error #1010: Un termine risulta undefined e non ha proprietà.
Come posso ovviare al problema? Spero di essere stato chiaro.
Note: main è un Object che contiene i dati letti da xml.
Esempio: main[10].nome è uguale a SUB-MENU

Rispondi quotando