PDA

Volledige versie bekijken : error 1009 na sluiten UILoader


JPKO
%Europe/Berlin %769 %2009, 19:28
Hoi,

Na het afsluiten van de UILoader met het commando:

this.removeChild(myUILoader);


lijkt alles goed te gaan maar dat scijn. Want op de achtergrond blijft er iets draaien en dit geeft op het uitvoer-scherm de volgende melding:


TypeError: Error #1009: Cannot access a property or method of a null object reference.
at FGFPlayEx/OnEnterFrame()


Hierdoor is de Loader niet opnieuw te gebruiken voor dezelfde SWF en ook niet voor ander op dezelfde pagina.

Bij gebruik in een HTML omgeving kan dit verholpen worden door "refresh"maar dat is natuurlijk niet de bedoeling.

Wie kan mij vertellen hoe deze string / queue (of hoe het ook genoemd moet worden) te breken??

Grt P

Jan
%Europe/Berlin %843 %2009, 21:14
Zonder te weten wat er in die OnEnterFrame method gebeurt valt er weinig zinnigs over te zeggen.
Waarschijnlijk gebruikt die method properties (zoals bijvoorbeeld stage) die niet beschikbaar zijn als je UILoader instance van de display list verwijdert.
Toon dus even wat er in die OnterFrame method gebeurt.
removeChild verwijdert trouwens enkel het display object van de display list maar dat is dus helemaal niet hetzelfde als removeMovieClip() in AS2.
Probeer het anders eens met unload() en daarna pas removeChild()

Groeten;
Jan

JPKO
%Europe/Berlin %854 %2009, 21:30
Hallo Jan,

Dit is de complete code van de UILOader

import fl.containers.UILoader;
//import fl.controls.Button;

var myUILoader:UILoader = new UILoader();
myUILoader.autoLoad=true;
myUILoader.scaleContent=true;
myUILoader.source="SWFs/coca_apr.swf";
myUILoader.move(2, -15);
addChild(myUILoader);
stop();

close_btn.addEventListener(MouseEvent.CLICK, closeBtn);
function closeBtn(event:MouseEvent):void{
this.removeChild(myUILoader);
gotoAndStop("start");
}


Hopelijk kan je hier iets mee

Grt P

Jan
%Europe/Berlin %857 %2009, 21:34
Nee daar kan ik helemaal niks mee. :)
Het enige waar ik wat mee kan is het script dat in de OnEnterFrame functie staat in de swf: coca_apr.swf
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at FGFPlayEx/OnEnterFrame()

En je probeert beter eerst mijn suggestie:
Probeer het anders eens met unload() en daarna pas removeChild()

Groeten,
Jan

JPKO
%Europe/Berlin %933 %2009, 23:24
Zal jouw advies dadelijk uitproberen

Waar kan ik het script van de coca_apr.swf vinden. Heb geen FLA.

Nogmaals bedankt
P

Jan
%Europe/Berlin %942 %2009, 23:37
Waar kan ik het script van de coca_apr.swf vinden. Heb geen FLA.
P
Vraag het aan de maker. ;)
Of de swf decompilen zodat je het script kan zien en dan weet je ook wat er mogelijk mis is en hoe je het kan oplossen. Maar een simpele unload() + removeChild() zal het ook wel oplossen.

Groeten;
Jan

JPKO
%Europe/Berlin %957 %2009, 23:59
Hallo Jan,

Heb de regel "unload" toegevoegd maar dan stopt de Loader niet. Heb jij een idee waarom niet. Is de unload-regel niet goed getyped of ....


close_btn.addEventListener(MouseEvent.CLICK, closeBtn);
function closeBtn(event:MouseEvent):void{
unload(myUILoader);
this.removeChild(myUILoader);
gotoAndStop("start");


Grt Peter.

Jan
%Europe/Berlin %967 %2009, 00:13
zoals jij het hebt staan is:
this.unload(myUILoader); terwijl unload helemaal geen method is van this en je hebt ook nooit this.load(myUILoader) gedaan.
Net als je myUILoader.load() doet moet je ook gewoon myUILoader.unload() doen en net zoals je this.addChild(myUILoader) doet moetje ook gewoon this.removeChild(myUILoader) doen.
Lijkt me toch redelijk voor de handliggend als je even op F1 drukt en in de help kijkt bij de UILoader class. ;)

Groeten;
Jan

JPKO
%Europe/Berlin %894 %2009, 22:28
Hallo Jan,

Het advies wat je gegeven hebt over myUILOader.unload en alle andere varianten heeft niet tot het gewenste resultaat geleid.
De SWF welke ik gebruikte is gemaakt in een extern programma welke geen FLA publiceerd.
heb de SWF wel gedecompiled maar weet niet waar te zoeken en hoe deze te veranderen. Als je wilt kan ik het script posten. Misschien dat jij hierover nog wat kan adviseren.

Heb ondertussen de slideshows zelf gemaakt in AS3 (mbv tutorials) maar wil eigenlijk het oorspronkelijke idee (dus met de ext SWF's) graag realiseren.

Tot zover

Grt
Peter.

Jan
%Europe/Berlin %899 %2009, 22:34
Als je een link naar die swf hebt of hem hier even upLoad dan kan ik hem decompilen.
De SWF welke ik gebruikte is gemaakt in een extern programma welke geen FLA publiceerd.
Waarmee dan wel?

Groeten,
Jan

JPKO
%Europe/Berlin %904 %2009, 22:42
Het programma heet Wondershare Flash Gallery en de SWF zal ik naar je toesturen.

Grt Peter

JPKO
%Europe/Berlin %910 %2009, 22:51
hierbij het SWF bestand

Jan
%Europe/Berlin %955 %2009, 23:55
Geen godsenkel idee waarom ie het niet doet maar ik ben dan ook niet echt een liefhebber van de components...
Als ik de gewone Loader gebruik (ipv de UILoader) dan werkt het zoals verwacht en zonder problemen:
var myLoader:Loader=new Loader();
addChild(myLoader);
myLoader.load(new URLRequest("CocaSlideS.swf"));//zorg dat de naam van de swf klopt met de jouwe
function closeBtn(event:MouseEvent):void
{
myLoader.unloadAndStop();
removeChild(myLoader);
gotoAndStop("start");
}
En het probleem zat, zoals eerder gegokt in het feit dat in die OnEnterFrame method naar de stage gereferreerd werd (en die er niet meer is als je de instance van de display list verwijdert)
De gewone unload() van de Loader werkte trouwens ook niet maar de unLoadAndStop() wel.

Groeten;
Jan

JPKO
%Europe/Berlin %002 %2009, 01:02
Heel hartelijk bedankt. Ga het morgen zoals jij schrijft coderen. Het resultaat laat ik je uiteraard weten

Nogmaals dank en groet,
Peter

JPKO
%Europe/Berlin %003 %2009, 01:05
P.S. De nu gemaakte SWF kan je bekijken op:

www.jpkdesign.nl/DigiCV/index.html

Graag wil ik jouw mening horen wat je ervan vind. Ben tenslotte Trainee :)

Grt Peter

sjors-wat?
%Europe/Berlin %601 %2009, 15:25
Hallo Peter,

Ik vind het er wel tof uit zien. Ik zou alleen graag mijn cursor in een handje zien veranderen bij objecten die je kan aanklikken. En die buttons in portfolio mogen van mij ook nog wat hebben.

Ik zou deze even in de testcase posten. Daar kan je meer feedback krijgen ;)

groeten sjors,

JPKO
%Europe/Berlin %957 %2009, 23:59
Hoi Sjors,

Dank voor de feedback. Moet er inderdaad nog wat aan fine-tunen waaronder de buttons en ben er achter dat het gebruikte lettertype niet getoond wordt op. Moet deze dus vervangen door afbeeldingen.

Grt Peter.

Jan
%Europe/Berlin %962 %2009, 00:06
en ben er achter dat het gebruikte lettertype niet getoond wordt op
Ik had ook die indruk, het paste er niet echt bij...

Moet deze dus vervangen door afbeeldingen.
Gebruik static textfields of embed je fonts (druk op het embed knopje)

Groeten,
Jan

JPKO
%Europe/Berlin %006 %2009, 01:09
Hallo Jan,

Zie dat je online bent. Heb de site hier en daar aangepast. Misschien wil je kijken en feedback geven.

Alvast dank en morgen ga ik de UILoader veranderen in Loader zoals jij geadviseerd hebt.

Groet Peter.