ActionScript 2.0 :: Class Files Caching In External SWFs
Jul 30, 2009
The problem is class files being cached in external swfs when they are loaded into another swf. (as2-cs3). In a nutshell, we've got a clip on the stage that is linked to a class. You can make changes to the class, pub the swf and everything works fine. When we then load that swf into our application swf, the changes are all lost, and it "reverts back" to a previous version of the class.
In the Flash app I'm building, I have a "main" SWF that will load a variety of "child" SWFs.
All of the AS3 code for both the main SWF and child SWFs is contained in external .as class files.
In other words, each movie has it's own document class .as file.
There are also a number of .as class files for all of the common elements (e..g, UI buttons and controls).
So - for example - both my main SWF and all child SWFs use the "MyCommandButton" class; the code for this class is in MyCommandButton.as, which all SWFs reference (import).
Here's what I don't understand.
(Let's say that the code in MyCommandButton.as draws buttons that are red.)
First, I compile ALL of the child SWFs.
Next, I change MyCommandButton.as, so that the buttons it draws are blue, instead of red.
Then, I compile the main SWF.
When I run the app (main.swf), I would expect all of the buttons in the main SWF to be blue (since that's what MyCommandButton.as specified when main.swf was compiled), and all of the buttons in the child SWFs will be red (since that's what MyCommandButton.as specified when they were compiled.)
Instead, ALL of the buttons are blue, which means the change I made to MyCommandButton.as affected all of the child SWFs, even though I didn't recompile them.
I am running into a curious problem with Flash CS4 Professional.I am running Windows XP Professional SP3, and working locally off my hard drive using SVN for version control.The problem I am having is with loading an external SWF into my "master" SWF.I am using ActionScript 2 exporting to Flash 8 (due to project requirements). When I run the SWF that is being loaded externally (standalone), it shows my changes from when I modify my class files. However, once I load it into the master SWF, the changes are not visible. If I modify the FLA itself, the changes are shown, its just when I modify any class files, the changes do not show.This is very strange and I have no idea why I am having this issue.I have outputted the _url of the SWF and it is loading the correct file.I tested it on another machine, and I did not run into the same problem.I deleted everything out of the ASO folder and that did not fix anything. Since I am not the administrator on my machine, I have tried everything other than reinstalling Flash.
[URL]regarding this tutorial I started my site [URL] to get some trasition effects but im getting somewhat different since the external SWFs take time to load. isn't it better to create "intro and outro" on the same time line instead of loading external SWFs bcos once the movie loaded as a whole will lead to smooth and contineous transitions.
In AS3 i am using the Loader class to load in multiple external SWFs (AVM1), each of which has a short animation which automatically plays when the swf is I obviously cannot control the timeline of these (i can't use local connection etc) but would like to load in the *.swf files, so they're in memory then add them to the stage when requested. the problem is that if i load them enmass. then use addChild when they are called, they have already played through and animated pre the addChild command.
(I cannot edit the swfs at all, and would rather not load them on demand at runtime)
Is there way force the browser to retain previously viewed FLV files? I've noticed using the normal netstream set-up that even if you've fully loaded and viewed a video it will have to load it again from scratch each time you come back to it. Shouldn't the file be in the user's cache?
I'm trying to set up a website that uses the MovieClipLoader class to load external images & swfs. The loader is working but I can't seem to get the preloader text to work, ie the onLoadProgress. The Percent text just has jibberish when I test the movie. Could some tell me what I'm doing wrong. Attached is the test file that I'm working on
I've created a Flex application and the size of the swf file is ~900KB. My trouble is that the files are not getting cached. When I launch the application for the second time, the swf file is fetched again from the server. I'm including the swf file in a jsp, and I'm not modifying any HTTP Caching Headers. I assumed that the swf files will be cached automatically. Isn't it so? How do I forcefully cache the file? Do I need to provide anything in the MXML code or just a response.setHeader("Cache-Control","max-age=100"); is enough? Can anything be done from the flex side itself?
Why on earth doesn't Safari on Windows use cached files...
When the movie's been downloaded and cached for IE & FF, on a refresh, Safari insist on re-downloading a fresh file from the server, again & again...
If it does, where the hell in Settings can you set it so that it'll favor cached files if they exist, rather than downloading a fresh one from the server...
How to prevent caching of swf files?Have somebody any link on tutorial.I read this page hurl...but | know is it possibilitity to generate somehow every time a new SWF name.
I've got an external .as file in the same folder as my flash file. In the process of writing the code, whenever I make a change and then test the movie, the flash movie is obviously still looking at the OLD information. I tried using the "Delete ASO Files" on the menu, to no avail.I can' find these ASO files anywhere on mycomputer.Aha! I tried something else. I quit flash,restarted and ran the same script with no changes. It returned the data correctly, but then gave me this unpleasant message:256 levels of recursion were exceeded in one action list.This is probably an infinite loop.Further execution of actions has been disabled in this movie.There are no loops of any kind in the code, which is below.
//This is the Person.as file: class Person { public var HomName:String = "unknown"; public var HomEmail:String = "unknown"; public var HomPhone:String = "unknown"; public var HomSaveFreq:Number = 0;
I recently created a site using the "Transitions between External SWFs" tutorial for Flash MX 2004. I use this to load the sections of my site into the main movie file. Each section is an External SWF file. When a viewer clicks on a navigation button, the specific external swf move will load and play. Currently, a viewer would need to click on another navigation option to close the current external swf file. I would like to add a close button to each of the external swfs so that a view has the option to close the window without clicking on a naviagtion link.
I am trying to write a client side app that would download a number of mp3 files, then cache them to the harddrive. I can download the mp3 files using URLLoader and access the raw mp3 data via URLLoader.data. But how do I save them to disk without the benefits of AIR only classes
I'm having trouble with my text and xml files seeming to be cached. They are altered by a php script called from flash, and this overwrites the text files correctly, but when they are reloaded into flash (eg. when the page is refreshed) the old data is still being used.I was reading this article and was interested in this line:
Code: input_xml.load(xml_file + "?uniq=" + new Date().getTime());
could someone please explain why this would work, and whether this would prevent the problem that I'm having. I'm presuming that this unique number is never used in any way, it just forces the new file to be loaded, but I'm just a bit unsure why.
When not cacheing an HTML page, any movies or anything you load INTO that flash file through loadMovie or loadVars still gets cached... I use senoculars script to prevent this...
[URL]
and 2) Yes you can stop the cacheing of your page...
[URL]
Use this information wisely my friend
i came across this post by lostinbeta to stop cacheing, but the link for the one to stop cacheing files loaded through loadMovie and loadVars doesn't work. know how to get to it, or what the as was?
In my main movie I am loading external swf files. The proplem is that these files are cached so when they load the updates aren't shown. I've read some stuff about loading vars or xml with a random function to prevent it from caching, can that work with swf files? Maybe something like:
I've placed the meta tags in the main html to stop that from caching; which doesn't really work. Could the same be applied in the html? Or maybe a php function when loading the main flash movie?
The files that are loaded are only a few kb so I'm not worried about the user having to load the files everytime.
I use flash CS3 on Mac OSX and I'm creating several AS2 projects with .as class files. Everything code-wise is working perfectly. The problem comes when I make a change to a particular class file, save the file, and the republish the fla. The changes are almost never reflected in the published swf. The only thing I've discovered to work around this problem and actually get my changes published is to publish to a different flash player version, and then republish back to the version I really want. Somehow that seems to actually get flash to load the most recent version.
It seems like this might be some sort of flash caching problem, but I have no idea how to tell it to always check for the newest version of the file.
I have a main fla file which loads an external swf into an empty movieclip on the main timeline which works fine but I want a button in the external swf to load another external swf into another empty movie clip on the main timeline.eg. start.swf loads UKEIAMap.swf into (empty movie clip within start.swf) MapLoader_mc then a button havant_b within UKEIAMap.swf needs to load HavantProjectSheet.swf into (empty movie clip within start.swf) ProjectSheetLoader_mc without unloading UKEIAMap.swf
I am loading eight external swfs by way of eight buttons with actionscript to remove the swfs and sound after a new button is clicked. This works fine except that as soon as you get to the frame where the actionscript is all the swfs load at one time on top of each other. I don't want any to load until the button is clicked for the right one. MouseEvent listener works but only after all the swfs have loaded. How do I get the swfs to load only when the buttons are clicked. I can't figure out what I am doing wrong.
i've only ever created external .as files that extended a class such as sprite. now i just want to create one that doesn't extend anything and call it from a frame script.
I'm working through actionscript 2.0 tutorials using Flash 8, and I'm getting apparent false syntax alerts from script files containing classes with static properties. The .as files seem to work okay when I run them with corresponding .fla files with the Test Movie option, and the code is copied straight from a Macromedia tutorial pdf manual. [code]...
Well the name of the topic sort of explains it all...I need a way to actually preload or pre-cache some external images, and what even whould be better whould be to pre-cache them during the time that I dont need to diplay them. For instance in this case I have an image-slider that always should show 4 images, and then randomly change those four images to four new images.So if there whould be a way to pre-cach those last four during the time that the other four is displayed that whould be great! Since then there whould be no need of any delay and preloading for the client.But then I actually came to think of another thing that might be more simple in my case but Im not sure if it whould work.
The idea I got was to actually load all the external images into movieclips and then add those movieclips into an array, and then just simply call the required image by calling for the array and the image's index...Whould this be one way to "pre-cache" the images?..since I whouldnt need to load the images again once I have added them to a Movieclip and then added that movieclip into an array,right?
Is there a way to check if the user has my site cached so it can tell my preloader not to run?Or is there an easier way to check this? I have a preloader, but once it hits 100% it makes a mess. It's not all that appealing. It works if you see it loading, but just to see the mess at the end is not aesthetically pleasing.Is there a way to have the Flash movie say, "Oh. You've already got this loaded? Skip animation." ?
I'm writing a flex application that polls an xml file on the server to check for updated data every few seconds, and I'm having trouble preventing it from caching the data and failing to respond to it being updated.
I've attempted to set headers using the IIS control panel to use the following, without any luck:
CacheControl: no-cache Pragma: no-cache
I've also attempted adding a random HTTP GET parameter to the end of the request URL, but that seems like it's stripped off by the HttpService class before the request is made. Here's the code to implement it:
http.url = "test.xml?time=" + new Date().getMilliseconds();
And here's the debug log that makes me think it failed:
(mx.messaging.messages::HTTPRequestMessage)#0 body = (Object)#1 clientId = (null)
I am trying to prevent users from viewing my site and then simply going into their "temporary internet files" and stealing my swfs and XML files. I have been using a great .PHP code to stop this but now I am working on a server server that only uses .aspx files. Does anybody know of a way that I can stop files from being stored in the "temporary internet files" folder. I have encrypted the files but this is not good enough.
I have this PHP page that lists several people. When someone clicks on one of the people they are sent to another PHP page that has their video greeting in a .swf embedded into the page. This works by the php writing the path to the greeting video to the xml file that the .swf loads and plays.
Well in firefox it works perfect, but in IE when they try to click on another greeting the original greeting still plays. Its like the swf is caching the first greeting and refresh of the page does nothing to alleviate this. Is this a problem with the swf caching? or XML caching? or am I totally clueless?
I have created a main "site.swf" file that loads a "default.swf" file into a container after a preloader. On this default.swf file I have buttons that needs to load new external SWF files in its place in the container. All of the external SWFs contain buttons and navigations that will also call up other external SWFs into this container. So, I would like to know how to program each button (some are movieclips as buttons) to unload itself and load the respective SWF into the container (eg. AboutUsButton to call up aboutus.swf into the container). I do not have a main navigation on the site.swf file bacause the navigation changes on each SWF that needs to be loaded into the container.