Partyflock
 
Forumonderwerp · 622122
 
hey ik heb dus een probleempje met flash
ik heb een functie gemaakt die de laatste 4 berichten uit een XML bestandje haalt, maar hij haalt alles alleen uit het XML bestandje als ik 8er een button
on(release) {
getlast();
}
hang :S als ik de functie gewoon aanroep dan haalt hij niks uit de XML..

hier de code:

myXML = new XML();
var cnl;
var step;
var heading = new Array(4);

System.useCodePage = true;
XML.prototype.ignoreWhite = true;

function getlast() {
myXML.load('nieuws.xml');

cnl = myXML.firstChild.childNodes.length;
step = cnl-4;

for (i=0; i<=3; ++i) {
tmp=step+i;
heading[i] = myXML.firstChild.childNodes[tmp].firstChild.firstChild.nodeValue;
}

txt1 = heading[0];
txt2 = heading[1];
txt3 = heading[2];
txt4 = heading[3];
}

stop();

weet iemand de oplossing?
zal wel heel simpel zijn maar ik ben nog een actionscript noob :P
Misschien is het wel handig als je even de source geeft van hoe je je functie normaal aanroept...

PS: Ik ben ook geen action script goeroe...
 
hmm je bedoelt dus hoe ik de functie aanroep wanneer die t wel doet?
dan maak ik gewoon een button aan en hier gooi ik deze code 8er:
on (release) {
_root.getlast();
}

en als ik dus in dezelfde keyframe waar al die code staat getlast(); of _root.getlast(); probeer dan doet die t niet omdat hij dan niks uit de xml haalt..
een heeeeeeel erg vaag probleem dus %)

(btw echt een kuttaal dat actionscript :P)
De functie wordt wel zeker uitgevoerd (ff paar trace() oid. functies erin zetten is misschien wel handig).
 
heb ik al gedaan
als ik bv op dezelfde keyframe trace(heading[0]); doe dan krijg ik undefined.. terwijl als ik dan op die button druk krijg ik wel gewoon de inhoud..

ik kom er net ook 8er dat als ik in de keyframe geen getlast() zet ik 2x op die button moet klikken voordat die het XML bestand inleest, en als ik dan op de keyframe 2x getlast(); zet doet die t weer niet.. %)
probeer eens trace() functies binnen de functie te zetten, om de volgende dingen te checken:

1. Of de functie uberhaupt aangeroepen wordt
2. Op welk punt het mis gaat

Veel meer dan dit kan ik je niet adviseren omdat ik zelf ook erg weinig ervaring heb met Action Script.
 
ja maar t kutte is, dat er niks mis gaat
de functie klopt gewoon, maar doet t alleen maar als hij aangeroepen wordt wanneer er op een button wordt geklikt %)

als ik de functie op precies dezelfde manier aanroep alleen dan bv bij het laden van een movieclip dan doet die t niet.. :/
Als het niet werkt, dan gaat er iets mis. Dit kan dus ook komen omdat de functie vanaf een andere plek aangeroepen wordt (dus bv. de scope, alhoewel die hier redelijk gelijk lijkt).

Dus check OF de functie daadwerkelijk aangeroepen wordt dmv een trace() in de body van de functie. Doe er gewoon om te beginnen een aan het begin en een aan het eind. Als ze beiden aangeroepen worden, check dan of de file uberhaupt gelezen wordt. (check filemon op http://www.sysinternals.com)

Als ook dat het geval is, controleer dan met de trace() functie de waardes van elke variabele binnen de functie. Deze zou je kunnen vergelijken met de waardes van dezelfde functie als je de functie dmv een button aanroept (on(release) event dus).

Dit is t stappenplan wat ik zelf zo ongeveer zou volgen. Zorg ervoor dat je zoveel mogelijk test, want als het niet gaat zoals je denkt, dan is dat al een teken dat het niet zo logisch werkt als je denkt (narotic's wijsheid #1 :P)
 
:P
ik zal t morgen even proberen, maar ik weet iig dat als ik de functie met bv een onLoad aanroep dat de XML dan niet geopend wordt, als ik in 1e frame de functie aanroep dat die dan ook de XML niet opent (de functie wordt wel telkens aangeroepen dit had ik al gecheckt met een trace)
dan als ik het met een button doe hij bij de 1e klik de XML niet opent (trace geeft wel wat terug dus de functie is aangeroepen) en bij de 2e klik doet die wel wat die hoort te doen..

zal wel flash logica zijn want er zitten wel meer rare dingen in flash :/
laatste aanpassing
Check anders ook ff wat functievariabelen. Ik weet niet precies hoe dat met scopes zit, maar als je bv. i als ergens anders als index gebruikt hebt zou dat misschien hier probs op kunnen leveren...
 
met scopes bedoel je gewoon arrays toch?
mjah ik ga er iig morgen maar weer mee verder kutten, want ik heb die bestanden hier toch niet (en hier krijg ik er niet voor betaald.. :P)
thx iig, ik ga morgen ff dat stappenplan van je doorlopen :)
Met scopes bedoel ik geen array's, meer in de trent van environment (oftewel, je hebt bv. globale variabelen, functie variabelen, die zitten in een verschillende scope. Het is een beetje het bereik waar binnen je zit. Moeilijk uit te leggen :S)
 
ow dat bedoel je..
ja daar heb ik al wat probleempjes mee gehad ja, bv dat variabelen undefined zijn enzo als je ze bv van buiten een functie aanroept

dat bedoel je toch?
Yes, denk idd dat we het over hetzelfde hebben :)
 
body=flash :)
 
nah t werkt nu allemaal..
je moet alleen nog steeds op die button klikken voordat de XML geladen wordt, maar dit is niet zo een probleem want in het design moet er toch eerst op een button geklikt worden voordat je het nieuws krijgt te zien :)
Maar je weet dus op zich nog niet waar het nou precies door komt?
 
nee lol :D
Sow...

Bizar...

Nou, van mij horen ze nix hoor!!!

:D :D :D :D