Avatar billede pyroman Nybegynder
16. marts 2004 - 20:57 Der er 16 kommentarer og
2 løsninger

mærkelig fejl med xml

Davs

...sidder med noget der skal ordnes hurtigt...
Jeg har et site der består af 3 filer:

- en hoved fil - kald den "main"
- en side fil - kald den "site"
- en menu fil - kald den "menu" (sjovt nok)

Når man starter main - henter denne straks site. site henter så en xml-fil og nogle billeder (som defineres i xml-filen)
Man kan så få site til at hente nogle forskellige xml-filer som altså er undersiderne...
Min main henter også menu ind - i denne ligger bare nogle simple knapper der kalder en funktion i main, der får site til at hente en ny xml og nye billeder...
Desuden har jeg lavet en speciel funktion der tjekker om xml-filen eksisterer - ellers skal den nemlig ikke hentes.

min tjekker ser sådan her ud:

function loadSite (namen){
    //_root.doLoadPage("content/news/jan/settings.xml", "content/news/jan/images/", true);
    sitePath = _root.mainPath+"content/"+folder.toLowerCase()+"/"+namen.toLowerCase()+"/";
   
    test = new XML();
    test.load(sitePath+"settings.xml");
    test.onLoad = function(s){
        if(s){
            _root.doLoadPage("content/news/jan/settings.xml", "content/news/jan/images/", true);
            //_root.doLoadPage(sitePath+"settings.xml", sitePath+"images/", true);
            //delete this;
        }else delete this;
    }
}

Hvis jeg ikke bruger denne tjekker - så kan sitet sagtens hente xml og billeder - hvis jeg derimod bruger denne - så sker der noget mærkeligt:
Sitet hentes og funktionen i det kaldes og den henter skam også xml-filen ind - men efter det så sletter den alle variabler... og alt er bare tomt...

- ikke fedt...

Hvor ligger problemet - og hvad fanden kan jeg gøre?

80 point til syreknobben der kan hitte denne ud! ;)

Filip
Avatar billede pyroman Nybegynder
16. marts 2004 - 20:59 #1
hov - i koden dér - de der kommentarer skal faktisk ikke være kommentarer - og den øverste "_root.doLoadPage()" skal bare væk...
Avatar billede mat Nybegynder
16. marts 2004 - 21:27 #2
jeg har kun lige skimmet, men hvorfor er der en "delete this" indenfor både if og else? (jeg kan godt se den er kommenteret ud i "if", men med ovenståendende kommentar?)
Avatar billede pyroman Nybegynder
16. marts 2004 - 21:30 #3
tjaa.. jeg sletter den bare når jeg har brugt xml-objektet - har jo ikke brug for indholdet her... dette er bare en tjekker...

Man kunne vel godt bare lade være med at slette den - men det har jeg ikke gjort.. :)
Avatar billede mat Nybegynder
16. marts 2004 - 21:59 #4
er ovenstående funktion det sidste der kaldes? Har du traces hele vejen igennem så du kan se hvornår den sletter alle vars?
Avatar billede pyroman Nybegynder
16. marts 2004 - 22:07 #5
Ja - altså den kalder en funktion i _root (main). Denne funktion unloader site og henter den ind igen (dette var nemmest at gøre). Når site er hentet kaldes funktionen initialize i site - øverst i denne kan den udskrive nogle variabler - men efter henter den så xml-filen - og når dette er gjort skulle den gerne kalde en anden funktion der henter billederne og desuden udskrive en variabel - men det sker bare ikke...
Har prøvet med 7 milliarder traces og debugging osv - ALT!!
Avatar billede pyroman Nybegynder
16. marts 2004 - 22:10 #6
Det sker præcis ved onLoad funktionen på xml objektet i site...
Avatar billede mat Nybegynder
16. marts 2004 - 22:14 #7
og det er den onLoad vi ser her? du har ikke andre xml objekter, der hedder test (vildt skud :P)?
Avatar billede pyroman Nybegynder
16. marts 2004 - 22:23 #8
jo - jeg har det her xml-objekt i menu som i ser her - og så har jeg det xml-objekt i site...
Det du ser her skal jo bare tjekke om filen eksisterer og så bare slettes bagefter...
Avatar billede mat Nybegynder
16. marts 2004 - 22:41 #9
ja men hvis du kan trace dig hele vejen frem til det vi ser her, må man jo formode at det stykke kode der står her er det der sletter dine vars?

Og så er der vel to muligheder - enten overskriver du noget med doLoadPage() eller osse gør du med dit xml instans "test"?
Avatar billede mekawi Nybegynder
17. marts 2004 - 09:11 #10
Hvis du bruger delete this, så sletter Flash jo hele MC'et...
Avatar billede mat Nybegynder
17. marts 2004 - 10:34 #11
I denne sammenhæng vil jeg tro at pyroman vil slette "test". Men efter en kort konsultation med barklund fik jeg bekræftet at delete kun sletter referencer.

Dvs "delete this" ikke sletter noget - så det er sikkert ikke der fejlen ligger? :)
Avatar billede mekawi Nybegynder
17. marts 2004 - 12:37 #12
Det er rigtigt, sorry.
Avatar billede pyroman Nybegynder
17. marts 2004 - 15:54 #13
Ja - det er meget mærkeligt...

test ligger i et helt andet movieclip end doLoadPage, som jo ligger i main - og desuden dur denne funktion jo også vi man ikke opretter denne test-xml... og der er intet andet i alle mine filer der hedder "test"...

Det er ligemeget om jeg sletter eller lader være med at slette "test" - gør ingen forskel...

Jeg tænkte på om det kunne være en mærkelig fejl flash laver når den henter samme xml-fil ind 2 gange?? - første gang den bliver hentet er det jo fint nok - men anden gang (i min initialize som bliver kaldt af doLoadPage i main) bliver ALT, ja næsten ALT slettet - alle variabler oprettet eller ændret i starten af initialize()...
Avatar billede mat Nybegynder
17. marts 2004 - 18:24 #14
Jeg må indrømme at jeg ikke helt kan overskue din struktur og uden den øvrige kode bliver det endnu sværere. Jeg kan ikke forestille mig at der skulle være problemer i at hente samme xml ind to gange?
Avatar billede mekawi Nybegynder
17. marts 2004 - 18:30 #15
Du kan prøve at tilføje +"?uniqueID"+getTimer() til din XML loadpath. Just a longshot... :)
Avatar billede pyroman Nybegynder
19. marts 2004 - 17:40 #16
Jeg har løst det ved at lave en større ændring sådan at den kun henter filen én gang...
Tror problemet består i min struktur - site filen bliver unloaded og hentet ind igen hver gang man skifter side... Men gider ikke lave det om... :)

Lader spørgsmålet stå lidt, hvis der var nogle der skulle komme med noget...

Men mange tak for jeres deltagelse!
Avatar billede pyroman Nybegynder
28. marts 2004 - 16:09 #17
Well tror bare det er mit flash der stenede eller en dårlig struktur i mit script...

Lukker...
Avatar billede pyroman Nybegynder
10. maj 2004 - 23:07 #18
Well - jeg har som sagt fået det til at virke nu - bare på en lidt anden måde. Fejlen må ligge i mange dumme fejl i min opbygning (har også omstruktureret hele koden nu) eller i en intern lortefejl i flash!

I må undskylde at jeg ikke kunne vise noget kode - men det havde sgu nok ikke hjulpet, da den lå i 3 forskellige filer, og fyldte sådan ca. 400 linjer = ikke arbejdet værd at kigge i ;)
Mange tak for hjælpen! :))

Ved mindre der er nogen der har nogle indvendinger, så vil jeg lukke spørgsmålet her...
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