-
accessing parent class' methods (AS2) while parsing
Hi,
I have a class with a load() method that loads an xml file. From this method, I want to call another method from the same class, while the xml is being parsed:
Code:
class someClass {
...
function load(url:String):Void {
var myxml = new XML();
myxml.ignoreWhite = true;
myxml.onLoad = function(success:Boolean) {
if (success) {
var categoryNodes:Array = this.firstChild.childNodes;
for (var i = 0; i < categoryNodes.length; i++) {
var c:Category = addCategory(categoryNodes[i].attributes.label);
}
} else {
trace("There was an error parsing the XML data");
}
};
_xml.load(url);
}
function addCategory(label:String):Category {
trace("add category called");
var c:Category = new Category(label);
_categories.addItem(c);
return c;
}
}
from my understanding, I should be able to call addCategory() like this, since it's a member method... but it doesn't work. I tried adding _parent to the path, but it doesn't work either, even if I make var myxml a class property.
How do I access this method?
any input would be greatly appreciated.
best
3rdw0rld3r
-
I've found the solution at flash-coders:
the best way would be to extend the XML class and add a property that holds a reference to the class instance, but if you're lazy you can add do this:
Code:
class SomeClass {
var myxml:Object; //so you can dynamically add a property to it
...
function load(url:String):Void {
var myxml = new XML();
myxml.refToClassInstance = this;
myxml.ignoreWhite = true;
myxml.onLoad = function(success:Boolean) {
if (success) {
var categoryNodes:Array = this.firstChild.childNodes;
for (var i = 0; i < categoryNodes.length; i++) {
var c:Category = this.refToClassInstance.addCategory(categoryNodes[i].attributes.label);
}
} else {
trace("There was an error parsing the XML data");
}
};
_xml.load(url);
}
}
pretty neat huh... hope this is useful to somebody else too
3rdw0rld3r
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|