Autor Zpráva
Anonymní
Profil *
Dobrý den všem!

Asi mám hloupý dotaz, ale není mi jasné co dělám špatně...
Deklaruju si proměnné sudoku a solution mimo všechny funkce, ale z funkce xmlLoaded je dál nedostanu (nově naplněné hodnoty), i když bych řekl, že by měly být použitelné kdekoli...
Kde jsem udělal chybu? Potřebuji sudoku a solution naplněné hodnotami používat v dalších funkcích, ale tam jsou jako prázdné proměnné...

var sudoku: String;
var solution: String;
var scTabulka: XML;

var url:URLLoader = new URLLoader();
url.addEventListener(Event.COMPLETE, xmlLoaded);
url.addEventListener(IOErrorEvent.IO_ERROR, onError);
url.load(new URLRequest("SC_sudoku.php"));

function xmlLoaded(event:Event):void {

scTabulka = new XML(event.target.data);

sudoku = scTabulka.sudoku[0].zadani;
solution = scTabulka.sudoku[0].reseni;

}

function onError(event:IOErrorEvent) {

ExternalInterface.call("alert", "Server is unavailable");
}
Kodyn
Profil
FF mě odhlásil, tak se hlásím k tomu problému :o)

Kodyn
DoubleThink
Profil *
Proměnné existují jen ve svém objektovém kontextu v době vykonávání skriptu - pak jsou zahozeny. Dovnitř funkcí delegovány nejsou.

Vytvoř si nějakou vlastnost (třeba v document class), do které data předáš. Nebo z funkce xmlLoaded volej už nějakou další metodu, které data předáš jako argument.
weroro
Profil
DoubleThink:
Nedá sa použiť Object(root) ?
Hlúpa otázka ale len ma to zaujíma v AS3 neprogramujem.
Kodyn
Profil
Tak naštěstí jsem to všechno rozchodil, jenže pouze na localhostovi...
Po uploadu na server se mi rozjede Flash, ale vůbec nenačte obsah z SC_sudoku.php...

Tož jsem zase poněkud zabržděný.

DoubleThink: každopádně díky, rozchodil jsem to tak, že jsem zavolal v rámci té funkce xmlLoaded tu další funkci co má používat ta načtená data a jede to :)
Kodyn
Profil
A vyřešil jsem to naštěstí rychleji, než jsem čekal... :) Ideální varianta...

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0