Archief - FLASH: methode wordt niet uitgevoerd??

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

PsyKi

Legacy Member
Ja, raar probleempje..

In mijn nieuwste project heb ik een Menu, waarvoor de elementen worden opgehaald uit een xml file.

Ik had eerst een snelle testversie uitgewerkt van dat menu, niet Object-Oriented, en die werkt.
Nu heb ik het omgezet naar OO, en heb ik een klein probleempje in mijn Menu klasse:

Code:
	public function Menu() {
		loadXML();
	}
	
	private function loadXML(){
		var data_xml:XML = new XML();

		data_xml.ignoreWhite = true;
		data_xml.onLoad = function(success:Boolean) {
			if (success) {
				drawMenu(this.firstChild);
                            trace("gelukt");
			} else {
				trace("fout bij lezen van de xml! ");
			}
		};
		data_xml.load(this._xmlPath);
	}
	
	private function drawMenu(xmlFile:XMLNode) {
	         trace("drawMenu");
	         ...
        }


Het probleem:
De functie drawMenu voert hij niet uit!!

Ik krijg dus als resultaat enkel de trace van "gelukt" te zien. De trace van "drawMenu" is er niet.

Ik heb er al 2 uur op staan staren en proberen, maar ik zie het probleem niet...
Waarschijnlijk ergens een klein foutje, maar waar?

Breen

Legacy Member
Een oplossing:
Code:
	public function Menu() {
		loadXML();
	}
	
	private function loadXML(){
		var localHook:Menu = this;
		var data_xml:XML = new XML();

		data_xml.ignoreWhite = true;
		data_xml.onLoad = function(success:Boolean) {
			if (success) {
			localHook.drawMenu(this.firstChild);
                            trace("gelukt");
			} else {
				trace("fout bij lezen van de xml! ");
			}
		};
		data_xml.load(this._xmlPath);
	}
	
	private function drawMenu(xmlFile:XMLNode) {
	         trace("drawMenu");
	         ...
        }

PsyKi

Legacy Member
Had intussen ook al dit gevonden.
Is inderdaad de oplissing, blijkt een scope probleem te zijn in ActionScript 2.0. In 3.0 is dit geen probleem meer.

bedankt ;)
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan