PDA

View Full Version : ASO files and class caching


ulisse
10-10-2005, 03:14 PM
Hi, I have a problem with ASO files; i keep deleting ASO files from flas control menu and also directly in ASO folder in classpath dir, but still flash is caching my classes somewhere when I test movies, or at least I cannot see any update on my classes effective, if I am not restarting flash itself. Anyone has same problem? Any solution? I am working on a mac with osx 10.4, flash 8.
Thank you for any kind reply :)

finchou
10-10-2005, 03:20 PM
I had this problem too... if your files are on a distant server then it's a timestamp problem, it's best to work locally or have a tool that synchronizes time.
I also found hat if you have a swf that uses a class, and that you load it in you current movie, it won't recompile the class and the old version will prevail :eek:
Then I gave up loading swfs :p
I was using the export_linker trick, maybe it's because of that.

ulisse
10-10-2005, 03:32 PM
Thanks for you reply. I am working locally and with a single movie clip, so I cannot understand where is flash caching files :confused:

ASO files are completely deleted, so there must be some other cache caching anywhere .. i cannot keep restarting flash any 5 min.
:confused:

hangalot
10-10-2005, 05:26 PM
where are you deleting the aso files, in the flash 8 directry or still the flash 7 dir?

ulisse
10-10-2005, 08:44 PM
Both of them Hangalot, but still nothing ... I really cannot understand :(
I have looked in entire HDs for ASO files but only flash 7 and 8 folders are existing, and I keep deleting both of them.. :confused:

hangalot
10-10-2005, 08:51 PM
mate i am having exactly the same problems only with flex at the mo' so am really unhappy as well :(

ulisse
10-10-2005, 09:23 PM
:eek:
..getting crazy

philatundefine
11-23-2005, 12:17 PM
Regarding the class not updating when loading an external SWF:

I've noticed that the first time that FlashPlayer reads functions that were defined in a class, it will not overwrite these functions with a newer version of a compiled class.

For example:
My container movie loads 'one.swf' containing a MovieClip with linkage to my 'Foo.as' class. When I move to a different section of my containing MovieClip, the external file 'two.swf' is loaded in. 'two.swf' also contains a MovieClip that has linkage to the same 'Foo.as'.

Then I decided to make changes to 'Foo.as' whilst working with 'two.swf'. I then re-published 'two.swf'. I did not re-publish 'one.swf'.

Then I repeted the above to view 'two.swf' via my container MovieClip, but as 'one.swf' had already loaded into FlashPlayer, FlashPlayer decides that the functions defined within the compiled code in 'one.swf' are correct, and any other external MovieClips that later use a class of the same name as 'Foo.as' will use the first definition of the 'Foo.as' functions, regardless of whether the compiled code in 'two.as' had been updated.

So, when flash converts AS2 into AS1 at compilation time, it creates my class functions as prototypes, and then I guess FlashPlayer asks something like:


if(!prototypes_Foo){
// create prototypes from Foo.as
}else{
// prototypes_Foo already exists, so I won't bother updating them
}


I guess ideally, this is not the best way to work, as in theory a class should be identical across every published SWF. But this can be an easy trap to fall into during development.