PDA

Volledige versie bekijken : Problemen met Global en Local


Glitch
%Europe/Berlin %856 %2008, 21:33
Hallo,

Ik laad een XML file in, in een combobox. Als ik de combobox wijzig wil ik graag dat een globale variable via de change listener van de combobox wordt geupdate zodat ik deze variable in andere functies kan gebruiken zoals in de onPress functies van enkele buttons in de movie. Hieronder de code. Er gaat duidelijk iets mis met het lokale en globale variabelen maar na het doorspitten van de Adobe Livedocs heb ik geen werkende code kunnen produceren. Hopelijk kan iemand me hier op weg helpen.

stop();

/* LOAD UP XML */
var xml:XML = new XML();
xml.ignoreWhite = true;
xml.onLoad = function(success) {
if(success) {
xmlNode = this.firstChild.childNodes;
currentIndex = 0;
for (var i = 0; i < xmlNode.length; i++) {
comboBox.addItem({label:xmlNode[i].attributes.name, data:i });
}
} else { trace ("XML File Not Loaded"); }
}

xml.load("xml.xml");

// comboBOX Listener
comboBox.selectedIndex = 0;
var boxListener:Object = new Object();
boxListener.change = function(evt_obj:Object) {
currentIndex = evt_obj.target.selectedIndex;
getURL(xmlNode[evt_obj.target.selectedIndex].attributes.target);
};
templateBox.addEventListener("change", boxListener);

/* BUTTONS AND LINKS */
download_btn.onPress = function(currentIndex) { getURL(xmlNode[currentIndex].attributes.filename); }
post_btn.onPress = function(currentIndex) { getURL(xmlNode[currentIndex].attributes.post); }

Dauntless
%Europe/Berlin %859 %2008, 21:37
Zet bovenaan je script:
var currentIndex; Hierdoor maak je hem aan op de hoofdtijdlijn.

Ook: Aan een onPress kan je geen argumenten meegeven. De 'currentIndex' moet daar gewoon weer weg :)

Glitch
%Europe/Berlin %310 %2008, 08:27
Bedankt voor je antwoord. Ik had tijdens het uitproberen van verschillende code inderdaad al eens de variabele eerder in de code aangemaakt. Zojuist heb ik dit weer aangepast en binnen Flash zelf en de standalone flashplayer werkt het dan prima. Als ik echter de .swf als object laadt in een html pagina dan werken de buttons weer niet.

Ik heb echt geen idee wat er aan de hand is ....

---------------------------EDIT---------------------------------
Argh ... ik heb een flinke denkfout gemaakt bij mijn ontwerp. Als ik via de combobox een andere pagina inlaadt die ook de flashmovie inlaadt dan zijn natuurlijk de variabelen in de flashmovie wel gereset. Ik heb dit nu opgelost met URL variabelen.