[megoldva] Flash programozás - function-ból "global" variable módosítás

Sziasztok!

Fennakadtam AS2.0-ban az alábbi dolgon. Abszolút egyszerű, csak én vagyok láma.

ÁPDÉT!!

// ELSŐ ESETBEN
quotes = new Array;
quotes['test'] = new Array;
quotes['test'][0] = 'alma';

function loadXML(loaded) {
trace('allapot 1: '+ quotes['test'][0]);
quotes['test'][0] = 'korte';
trace('allapot 2: '+ quotes['test'][0]);
}

xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("foo.xml");

trace('allapot 3: '+ quotes['test'][0]);

Output 1:
allapot 3: alma
allapot 1: alma
allapot 2: korte

// MÁSODIK ESETBEN
quotes = new Array;
quotes['test'] = new Array;
quotes['test'][0] = 'alma';

function loadXML(loaded) {
trace('allapot 1: '+ quotes['test'][0]);
quotes['test'][0] = 'korte';
trace('allapot 2: '+ quotes['test'][0]);
}

xmlData = new XML();
xmlData.ignoreWhite = true;
loadXML(true); // <<<<<<<<<<<<<<<<< ITT NEM ONLOAD eventre teszem a functiont akkor
xmlData.load("foo.xml");

trace('allapot 3: '+ quotes['test'][0]);

Output 2:
allapot 1: alma
allapot 2: korte
allapot 3: korte

Kérdésem, miért? Miért viselkedik máshogy a variable különböző meghívásra. De ami lényegesebb, az ELSŐ esetben milyen módon tudom a function-on kívüli variable értékét megváltoztatni, de olvasni igen?

Hozzászólások

A fától nem láttam az erdőt, így pénteken. Az output sorrendje volt árulkodó a trace hamarabb futott le, mint a változás, mert az onLoad később következett be. A function-ba beszúrtam ezt:
function loadXML(loaded) {
if (loaded) {
***ujertekek felvetele
***ujertekek felvetele
***ujertekek felvetele
gotoAndPlay(2);
} else {
stop();
}

így már működik... sorry a fórum szemetelésért!