Avatar billede mcskelle Nybegynder
10. november 2003 - 11:14 Der er 17 kommentarer og
1 løsning

mx 2004 onLoad bug

Det ser ud til at der en bug(mærkelighed) ifm. loading af XML i den nye lækre flash.

Jeg har et par workarounds på banen allerede, men de er begge lidt "grimme". Måske har nogle af jer nogle forslag:

Problem: Benytter man xml.onLoad() kan man ikke ummiddelbart få fat i andre probs og funktioner end dem der måtte være defineret i xmlinstancen selv....med mindre man selvfølgelig referere til dem direkte.

Mit problem er helt konkret at jeg har lavet en klasse hvori der er en række XML-properties. Når så en XML er blevet loadet, ønsker jeg at køre en-eller-anden funktion fra klassen. Jeg skal altså kalde en klassefunktion inde fra en onLoad funktion i et XML objekt. DET er problematisk.....this er nemlig XML og IKKE klassen!

Hvordan har i mon ordnet det?
Avatar billede barklund Nybegynder
10. november 2003 - 12:51 #1
Jeg hr deltaget i PRÆCIS samme diskussion på FlashCoders. Lav en custom klasse, der wrapper XML-klassen (ikke extender, XML-objektet bør være en property), som også indeholder en "setCallBack" funktion, som tager både funktion og objekt at invokere på.

Mere senere... :)
Avatar billede mcskelle Nybegynder
10. november 2003 - 13:16 #2
Lyder godt Bark. -Ser frem til dit 'mere...'

(Jeg har set noget med " Object(myXML).owner = this "  som en af de løsninger jeg kan bruge. Jeg mener det var på flashcoders også. Det virker som en god og OOP-agtigt forsvarlig løsning.)

Macromedia skulle have sagt, at det kun er et problem i nogle players. Det er vist ikke noget issue i NE playeren....men ok, Who cares about that! :)
Avatar billede barklund Nybegynder
10. november 2003 - 13:20 #3
Skulle lige noget... derfor ville jeg lige submitte, hvad jeg havde skrevet... :)
Avatar billede barklund Nybegynder
10. november 2003 - 13:21 #4
Har du forresten prøvet at extende den? Lave en custom klasse, og så tilføje en setCallBack der tager jeg objekt:Object og en funktion:Function?
Avatar billede mcskelle Nybegynder
10. november 2003 - 13:30 #5
nej det har jeg ikke. Det vil jeg da lige prøve. Jeg har ikke prøvet så meget andet end det der burde virke.....som så ikke virker, og derefter lidt hacks. Den der .owner-finte jeg nævte; er det ikke lidt nemmere end at extende hele XML-klassen? (såfremt det virker altså).

NÅMEN, no prob, jeg har slet ikke travlt med det, det er faktisk i et sideprojekt i privaten jeg har problemet, og ikke her på arbejde:)
Avatar billede barklund Nybegynder
10. november 2003 - 13:58 #6
Som sagt er det et hack, extension eller wrap er "rigtigt"! :)

Jeg har lavet en wrapped version her: http://actionscript.dk/eksperten/xml.as2/

Den virker nydeligt, synes jeg selv :)
Avatar billede barklund Nybegynder
10. november 2003 - 13:59 #7
og det var hermed min allerførste AS2 klasse med et egentligt (og opnået) formål :)
Avatar billede mcskelle Nybegynder
10. november 2003 - 14:14 #8
tilykke tilykke - og tak! Kigger lige på det :-) Er du OOP-koder i forvejen, eller er den del af det helt nyt for dig så?
Jeg syntes det er en fremragende og FULDSTÆNDIG LOGISK udviklingretning macromedia der har lagt.
Avatar billede barklund Nybegynder
10. november 2003 - 14:32 #9
Nænej, jeg har bare ikke fået lejlighed til at lave noget i den nye, da alle projekter jeg arbejder på professionelt laves i MX - eller i Flash 5 (grundet den reelle udbredelse i dk - mx er efterhånden på ca. 75-80% kun)
Avatar billede mcskelle Nybegynder
10. november 2003 - 14:37 #10
Ja det virker jo fint nok, men jeg syntes det er meget arbejde for et lille problem. Men nu stillede jeg jo også spørgsmålet meget generelt, og din løsning virker meget fornuftig....på det generelle plan.

Du må gerne uddybe hvad der gør Object(myXML).owner = this - løsningen til et hack. Det mener jeg da ikke det er....Det har jeg vist heller ikke sagt:)
Det er bare lidt 'stenet' at man skal gøre det, men det er jo macromedia's skyld.

Egentlig er det da meget fair bare at overskrive owner-variablen i xml-instansen f.eks i konstruktøren....eller hvad siger du?
Avatar billede mcskelle Nybegynder
10. november 2003 - 14:40 #11
Ja, jeg kender godt det der med, rent proffesionelt, at være bundet til ældre versioner af en eller anden teknologi. Det er nok bare udviklers 'curse' hehe....
Godt man så kan sidde og 'lege' derhjemme :)
Avatar billede mcskelle Nybegynder
10. november 2003 - 14:45 #12
Jeg fandt lige den der flashcoders-streng jeg har snakket om. du kan jo tjekke det:

http://chattyfig.figleaf.com/cgi-bin/ezmlm-cgi?1:mss:94228:kjpabiacmmlidoeinjag
Avatar billede barklund Nybegynder
10. november 2003 - 14:48 #13
Min resulterende klasse er jo generel - kald den noget andet og læg den i din installations standard classpath. Så kan du altid bruge den. Det skyldes at XML-objektet jo er lavet til Flash 5 - jeg forstår ikke, hvorfor de ikke har lavet en helt ny optimeret til AS2
Avatar billede mcskelle Nybegynder
10. november 2003 - 15:07 #14
yeah hørt, din generelle løsning skal da have lidt points:)

Nej der er mange ting ved Macromedia der er sværre at forstå. At en sådan bug( og jeg mener altså på det er en bug:-! ) komme ud i release 1 tyder på at de har haft lidt for travlt -  testet det MEGET lidt - eller at de simpelthen er ligeglade, fordi de syntes den er et lille problem der kan løses med diverse workarounds indtil næste upgrade kommer.
Avatar billede barklund Nybegynder
10. november 2003 - 15:13 #15
Jeg har kun en ting at sige til bugs i Flash - vent få dage endnu, you'll see *hint-hint* :)

Og tark for points :)
Avatar billede mcskelle Nybegynder
10. november 2003 - 15:29 #16
Der er et upgrade/fix/patch på vej eller?...gider ikke at lege gættelej vel:)

-og selv tark hehe:)
Avatar billede barklund Nybegynder
10. november 2003 - 15:39 #17
Værende MMUG Manager og dermed under NDA kan det få kostbare følger at sige noget :)
Avatar billede mcskelle Nybegynder
10. november 2003 - 16:23 #18
Fair nok.
Du har sagt rigeligt - og jeg glæder mig allerede:)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester